The game: Everyone gets a secret word except one player (the Imposter) who gets a similar but different word. Players give one-word clues and try to find someone who doesn't belong. Simple rules, surprisingly deep gameplay.
Features: 1. 530+ curated word pairs across 31 categories 2. Online room mode (everyone on their own device) or pass-and-play 3. No signup, mobile-first
Tech: Next.js, TypeScript, GSAP for animations. Real-time sync powered by PartyKit (Cloudflare Durable Objects under the hood), chose it over raw WebSocket because it handles room state and reconnection gracefully, which matters for a party game where people's phones keep locking.
The hardest part was curating good word pairs - they need to be similar enough to create confusion but different enough to be discoverable through clever clues. Ended up with 530+ pairs across 31 categories.
Would love feedback, especially on UX. Happy to answer questions about the implementation.