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
- 01Socket.IO game server holding authoritative round state — the client renders, it never decides
- 02Redis for room and leaderboard state so rooms survive process restarts and can scale past one server
- 03Reconnection handling that lets a dropped player rejoin the round they were in rather than losing it
- 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