Govind Arora
← All work

Real-time game2025Live

String Roulette

A multiplayer word game running inside Telegram, synced over WebSockets.

Role
Full-stack — game server, client, distribution
Period
2025
Stack
Next.jsSocket.IONestJSRedisTypeScript

The problem

Multiplayer games are usually gated behind an install. Running inside Telegram removes that step, but it means the game has to survive flaky mobile connections and players dropping mid-round without corrupting the room state.

What I built

  1. 01Socket.IO game server holding authoritative round state — the client renders, it never decides
  2. 02Redis for room and leaderboard state so rooms survive process restarts and can scale past one server
  3. 03Reconnection handling that lets a dropped player rejoin the round they were in rather than losing it
  4. 04Distributed as a Telegram bot, so playing costs zero installs

Outcome

Live and playable in Telegram, with real-time rooms and persistent leaderboards.

None
Install required
Server-authoritative
Game state
Telegram bot
Distribution