
A live-dealer gaming platform with real dealers streaming tables to players in real time.
The problem
Live dealer play needs sub-second video, game state that every player sees the same way at the same moment, and a record of every round, while dealers work real tables in a studio.
Stack: TypeScript, Fastify, WebSockets, Redis, PostgreSQL, LiveKit (WebRTC), Next.js, Docker
What I built
A Fastify and WebSocket game gateway with Redis fan-out, so every player at a table gets each state change at the same time.
Low-latency dealer video from OBS over WHIP into LiveKit (WebRTC), one room per game.
Deal flow driven by hardware: card scanners for card games and sensors on the roulette wheel.
Multi-game dealer stations, where one station deals several games one after another, and a training mode so new dealers practise on real tables without touching live play.
Operator and partner consoles with a roles matrix, per-currency limits, exposure tracking and a partner programme.
The Jewel Gold player website for the operator, with Google sign-in and crypto deposits through Bitopayments on four chains.
Prometheus metrics and OpenTelemetry tracing across the gateway and workers.

0 likes · 2 views · Oct 30, 2026
Real dealers stream tables to players live: WebSocket game engine, WebRTC video, operator consoles and the Jewel Gold player site.