14 card and board games in one Telegram Mini App,
provably fair, with a desktop client
A multi-game Telegram Mini App and desktop client: poker, durak, bura, backgammon, chess, checkers, dominoes, blackjack, mahjong and more on a shared TypeScript engine package, realtime via Socket.IO, provably fair dealing with HMAC commit-reveal, geo-gating, age gate and responsible-gaming layer, 428 automated tests, verified backups.
What it is
One platform, many games: poker, durak, bura, kozel, mahjong, backgammon, chess, checkers, dominoes, blackjack and others share a TypeScript package with a deck model and a poker evaluator. Six games are active in production; the rest are ready behind a visibility flag.
Engineering
Realtime play over Socket.IO with a server-authoritative state. Provably fair dealing: the server commits to a seed with HMAC-SHA256 before the deal and reveals it after, with a visible fairness badge. Three-level geo-gating by IP, an 18+ age gate, responsible-gaming and legal pages built to the requirements of ad networks. A desktop client on Tauri 2 shares the web code.
The anti-fraud design document covers 13 layers against more than 60 threat vectors, with Redis-based rate limiting already live and a roadmap for the rest.
Operations
Migration from SQLite to PostgreSQL and later between servers with a 1:1 data check (users, chips, games, transactions). Daily backups with 14 copies in rotation, restore verified by actually restoring. A bot-crash bug that kept the health check green while the bot was dead was found and fixed. Ten days of uptime without restarts on the last checkpoint.