A social deduction word game where players must identify the imposter among them. Built with Next.js, TypeScript, and Tailwind CSS.
๐ Live Demo: https://imposter.adatepe.dev
This project was born from a passion for creating engaging social experiences that bring people together. The motivation behind the Imposter Word Game stems from several key principles:
- Bridging Digital and Physical: In an increasingly digital world, creating games that encourage real human interaction and conversation
- Universal Appeal: A game that transcends language barriers and cultural differences through simple, intuitive gameplay
- Accessibility: No downloads, no registration, just pure gaming enjoyment accessible to everyone
- Strategic Thinking: Players must balance deception with believability, creating a unique psychological challenge
- Communication Skills: Encourages clear, concise communication and active listening
- Social Intelligence: Develops skills in reading people and understanding group dynamics
- Modern Web Technologies: Showcasing the power and capabilities of Next.js, React, and TypeScript
- Performance: Optimized for smooth gameplay across all devices and network conditions
- User Experience: Intuitive design that puts the focus on the game, not the interface
- Multi-language Support: Breaking down language barriers to create a truly global gaming experience
- Cultural Inclusivity: Word categories that resonate across different cultures and backgrounds
- Community Building: Creating shared experiences that bring diverse groups together
The goal is to demonstrate that web applications can be both technically sophisticated and genuinely fun, proving that modern web technologies are capable of creating experiences that rival traditional gaming platforms.
- ๐ Multi-language Support - English, German, and Turkish
- ๐ฏ 15 Word Categories - Food, Animals, Movies & TV, Sports & Games, Places, Jobs & Professions, Objects & Things, Vehicles, Holidays, School, Silly & Random, Fantasy, Technology, Nature, and Music
- โฑ๏ธ Timer System - Elapsed time tracking during gameplay
- ๐ญ Imposter Mechanics - Hidden roles with strategic gameplay
- ๐จ Modern UI - Clean design with smooth animations
- ๐ฑ Responsive Design - Works on desktop and mobile
- ๐ Dark/Light Mode - Theme switching support
- ๐ฎ 3+ Players - Designed for group gameplay
- Node.js 18+
- npm, yarn, or pnpm
# Clone the repository
git clone https://github.com/noluyorAbi/imposter.git
cd imposter
# Install dependencies
npm install
# or
yarn install
# or
pnpm install
# Start the development server
npm run dev
# or
yarn dev
# or
pnpm devOpen http://localhost:3000 to view the game in your browser.
๐ Live Demo: https://imposter.adatepe.dev
- Setup: Choose your language (English, German, or Turkish) and add players
- Word Selection: Pick a category and word for the round
- Role Assignment: Players receive cards - most get the same word, one gets "IMPOSTER"
- Clue Phase: Players give one-word clues about their word
- Discussion: Players discuss and try to identify the imposter
- Voting: Vote for who you think is the imposter
- Scoring: Points awarded based on correct identification
- Framework: Next.js 15.2.4
- UI Library: React 19
- Language: TypeScript 5
- Styling: Tailwind CSS 4.1.9
- Components: Radix UI Primitives
- Icons: Lucide React
- Forms: React Hook Form + Zod
- Themes: Next Themes
- Animations: Tailwind CSS Animate
imposter-word-game/
โโโ app/ # Next.js app directory
โ โโโ globals.css # Global styles
โ โโโ layout.tsx # Root layout
โ โโโ page.tsx # Main game component
โโโ components/ # React components
โ โโโ ui/ # Reusable UI components
โ โโโ game-setup.tsx # Game setup screen
โ โโโ game-play.tsx # Main gameplay
โ โโโ game-end.tsx # Game end screen
โ โโโ card-distribution.tsx # Card distribution
โ โโโ language-selector.tsx # Language selection
โ โโโ theme-provider.tsx # Theme provider
โ โโโ welcome-screen.tsx # Welcome screen
โโโ lib/ # Utility functions
โ โโโ translation.ts # Multi-language support
โ โโโ word-categories.ts # Word categories and data
โ โโโ word-clues.ts # Clue generation
โ โโโ utils.ts # Helper functions
โโโ hooks/ # Custom React hooks
โโโ public/ # Static assets
The game currently supports:
- English ๐บ๐ธ (Default)
- German ๐ฉ๐ช
- Turkish ๐น๐ท
- Modern UI: Clean, flat design with smooth animations
- Responsive Layout: Mobile-first design approach
- Theme Support: Dark and light mode switching
- Typography: Modern, readable fonts
- Spacing: Consistent spacing system
- Animations: Subtle transitions and hover effects
The game is currently deployed and available at: https://imposter.adatepe.dev
# Install Vercel CLI
npm i -g vercel
# Deploy
vercelThe app can be deployed to any platform that supports Next.js:
- Netlify
- Railway
- DigitalOcean App Platform
- AWS Amplify
We welcome contributions! Please see our Contributing Guidelines for details.
# Install dependencies
npm install
# Start development server
npm run dev
# Run linting
npm run lint
# Build for production
npm run buildThis project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by popular social deduction games
- Built with modern web technologies
- Community-driven development
If you have any questions or need help, please: