// 01 > CONTEXT
SkinBattle.gg is a Counter-Strike skin trading platform and online casino. The team built its games, Plinko, Mines, Cases, Battles, Crash and more, from scratch, with live multiplayer over WebSockets, serving up to 5k concurrent users. I worked on the frontend, building the real-time game interfaces and client state.
// 02 > THE_PROBLEM
A casino platform has to keep fast, animated game interfaces in perfect sync with live server state for thousands of players at once, with money on every round.
Games like Crash and Battles update many times a second and resolve in real time. The frontend has to render those updates smoothly, stay consistent with the server's outcome, and hold up at 5k concurrent users without stutter or desync.
Before
Casino games from scratch · live outcomes · 5k concurrent players
// 03 > APPROACH
I built the game frontends around a WebSocket-driven state layer with Redux Toolkit on Next.js and Material UI, so each game stays smooth and in sync with the server's live outcomes.
Real-time game UIs
Plinko, Mines, Cases, Battles, and Crash render live, driven by server events, with no desync between animation and outcome.
State that holds at scale
A single Redux Toolkit store reflects live round state cleanly, staying responsive at 5k concurrent users.
// 04 > THE_RESULT
A full casino of from-scratch games, live and in sync for up to 5k concurrent players. Private engagement.
Before
- Casino games built from scratch
- Live, money-on-the-line outcomes
- 5k concurrent players
After
- Plinko, Mines, Cases, Battles, Crash, live
- Smooth, in-sync game UIs
- Holds at 5k concurrent
“Casino UIs are unforgiving: the animation and the server outcome have to agree, every round, for thousands of players at once. That sync is the whole job.”