Client project · Android & iOS · Game server · Admin panel
Gaming
A real-time multiplayer board game with a real-money economy: a React Native app, a Node.js and Socket.IO game server, and a React admin panel that runs the whole economy.
Key results
300
players playing at the same time on one server, with zero errors
01
The client wanted a multiplayer board game with a real economy: matchmaking with strangers or friends, coins and diamonds bought with real money, a weekly league and referrals. Because money moves on every game, a modified app must never be able to cheat.
02
Everything is real-time. Rolls, moves, turn timers, disconnects, cancelled matches and payouts all have to stay correct when many players act at the same moment, on a single server.
03
04
A complete game across mobile, server and admin, with 300 players playing at the same time on one server and zero errors.
Along the way
01
143.7 MB → 49.4 MB. ARM-only release builds, images to WebP, sounds to MP3, and 25 dead files and 330 unused assets removed after a reachability check.
02
Traced the slowdown to socket.io keeping a callback for every message the server never acknowledged, each holding a full board state. Acks are now attached only where needed.
03
Replaced one network packet per cell with one server-planned walk the app animates on its own clock, and cut board re-renders by letting each cell watch only its own pieces.
04
Found why the server went down after a reboot (a missing dependency and PM2 not restarting on boot), fixed both, and added the health-gated deploy with rollback.