A social deduction party game built with Next.js where players try to identify the spy (or spies) among them. Guesspy provides a fun, interactive experience for groups of friends.
- Setup: Gather at least 3 players (the more, the merrier!)
- Configure: Enter player names and set the number of spies
- Assign Roles: Each player secretly checks their card to see if they're a spy or not
- Discuss: Players have 2 minutes to ask questions and discuss to figure out who the spy is
- Guess: After the timer runs out, players vote on who they think the spy is!
- Local Game: Play in person by passing a single device around
- Create Room (Coming Soon): Play remotely with friends online
- Configurable number of spies (fixed or random)
- 2-minute discussion timer with visual countdown
- Modern, clean UI with dark mode support
- Responsive design - works on desktop and mobile
- Secret role assignment for each player
- Card reveal animations for that extra suspense
- Clone the repository:
git clone https://github.com/yourusername/guesspy.git
cd guesspy- Install dependencies:
pnpm install- Run the development server:
pnpm dev- Open http://localhost:3000 in your browser
- Framework: Next.js 16 with App Router and Turbopack
- Language: TypeScript
- Styling: Tailwind CSS 4
- UI Components: Radix UI primitives
- State Management: Jotai
- Form Handling: React Hook Form + Zod
- Icons: Lucide React
- Code Quality: Biome (linting & formatting)
At least 3 players are required to start a game.
- Choose a fixed number of spies
- Or enable "Random number of spies" for unpredictable fun!
- Note: With random mode, sometimes everyone might be a spy!
Players have 2 minutes to:
- Ask each other questions
- Share suspicions
- Build alliances
- Identify the spy
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
Have fun playing Guesspy!