Imposter.
Shared rooms. Private information. Real-time play.
A social deduction game built around shared rooms, secret roles, clues and voting — with private information kept in the player’s hands.
Visit Live Website — Imposter. (opens in a new tab)- Full-Stack Developer · Realtime Systems · Product Design
- Next.js / Socket.IO / Prisma / PostgreSQL
- Shared round state / Private word reveal
Give conversation a place to play.
A warm retro multiplayer social deduction game where players join rooms, receive secret words, give clues, vote and try to uncover the imposter.
The problem
A social deduction game depends on shared timing and private information. Players need to join the same room, understand the round and see their own secret without revealing it to everyone else. Imposter turns those needs into a playful browser experience.
What I built
I built the full-stack game and realtime systems, designing the room, lobby and secret-word interactions around conversation and deduction.
One room. Different information.
Players host or join a room, receive secret roles and words, exchange clues and vote to uncover the imposter. The broadcast-station lobby makes room codes, players and host controls visible, while a handheld-inspired screen gives private information its own interaction.
Everyone plays.
Not everyone knows.
Room code · Players · Clues · Voting
Inspect the private boundary
Only the player sees it.
The secret role and word belong in a private reveal. The room continues to share the round state.
Host and join
Enter a nickname, create a shared room or join one with its room code.
Shared round state
Bring players together through the lobby, clues and voting stages of a realtime party game.
Private word reveal
Hold to reveal the secret word through a dedicated interaction before returning to the group.

A realtime browser party game.
The application uses Next.js, React and TypeScript with Tailwind CSS. Socket.IO provides the realtime technology, with Prisma and PostgreSQL in the data stack. Zod, Framer Motion and Lucide React support validation, interface motion and utility icons; deployment uses Vercel.
- 01Application
- Next.js 15 / React 19 / TypeScript / Tailwind CSS 4
- 02Realtime & data
- Socket.IO / Prisma / PostgreSQL
- 03Interface utilities
- Zod / Framer Motion / Lucide React
- 04Delivery
- Vercel
A secret in your hands.
The secret-word screen borrows the form of a handheld game. Its hold-to-reveal control makes the private moment explicit, while the waiting message reconnects that moment to the shared round.

A realtime party game that gives shared conversation and private information their own clear interactions.
I built the full-stack game and realtime systems, designing the room, lobby and secret-word interactions around conversation and deduction.
Explore the live project — Imposter. (opens in a new tab)