Loaded dice

Loaded Dice is a realtime multiplayer social deduction game I designed and built end-to-end — a Mahabharata-themed reimagining of Secret Hitler, casting players as Pandavas and Kauravas locked in a hidden-identity struggle around Duryodhana’s court. The project’s core architectural decision was a pure, deterministic game engine with zero I/O and a seeded RNG, so every rule, election, and win condition is unit-testable in complete isolation from networking or rendering. On top of that engine, I built a server-authoritative backend (Express, Socket.IO, Drizzle ORM, Postgres) that validates every player action with Zod and filters game state per-player so hidden information never leaks over the wire, and a React/Vite/Zustand frontend with a fully animated tabletop game board, reconnect handling, and ceremony-paced UI. I ran the entire build as a spec-driven, multi-session AI-assisted development process — a fragment-based task ledger, a 122-item mandatory edge-case suite, a simulation harness that fuzz-tests thousands of full games through the engine, and a Playwright test matrix with automated “chaos bot” players to stress-test the live UI.

Role

Game Architect

Skills

Realtime Systems (Socket.IO), TypeScript, React & State Management (Zustand), Game Engine Design, Server-Authoritative Architecture, Database Design (Drizzle/Postgres), Automated Testing (Playwright), Spec-Driven AI-Assisted Development

Website

Click here

date