Back to projects

Case study / Solo build

Who's the Imposter.

A real-time multiplayer version of the classic party game where players must deduce the odd one out.

Who's the Imposter — product walkthrough

My contribution

Solo build — game design, real-time architecture, and frontend.

Built with

  • React
  • TypeScript
  • WebSockets
  • SurrealDB

Outcome

Played regularly with friends; fully playable online.

Visit live product ↗

The context

A real-time multiplayer version of the classic "who's the imposter" party game — everyone gets the same word, question, or scenario except one person (the imposter), and the group has to figure out who's odd one out through conversation and deduction.

The problem

This started as a game me and my friends actually played casually, but it needed a physical setup or someone manually assigning roles each round. I built a digital version so any of us could host a round from our phones.

Process & architecture

Built directly from a real friend-group need rather than a hypothetical use case — you were both the builder and a player, which is a strong "dogfooded" story to tell.

A closer look

Tap any image to enlarge and explore the details.

Lobby view
Settings UI
Avatar customization

Key features

  • Multiple game modes: word-based, question-based, and scenario-based rounds
  • Real-time role assignment and round sync across all players
  • Lobby/room system and voting mechanic

Challenges & solutions

Keeping imposter role hidden from the wrong players, syncing game state in real time across devices, handling players joining/leaving mid-round.