Parlor

Creator · 2026

Visit Site
TypeScriptReactViteNode.jsWebSockets

Parlor is a browser-based party game platform where a big screen is the shared table and each player's phone is their hand. Nobody installs anything — scan a QR code and you're in. It plays Hearts, Spades, Tractor 升级, Mahjong 麻将, Uno, and Secret Hitler, and bots fill any empty seats so it works with one to four humans.

Why I Built It

Game night shouldn't start with fifteen minutes of "download this app and make an account." I also wanted the games from my own family's table — Tractor and Hunan-rules mahjong — which most platforms don't have, let alone with bilingual labels.

How It Works

  • An authoritative WebSocket server holds the game state and sends each player a redacted view — your phone only knows your own hand
  • Token-based reconnect survives a dropped connection mid-hand
  • Game logic lives in a pure, dependency-free engine package with immutable state and seeded RNG, so every game is unit-tested and simulatable
  • A phones-only mode lets one player host from their phone when there's no big screen

The Bots

One generic determinized Monte Carlo tree search plays every game — adding a new game to the platform gets you a competent bot for free. Bot-vs-bot simulation tests double as regression tests for the rules engines.