Real-Time Match Streaming & Replay Platform

Indoor soccer facilities needed more than a scoreboard—they needed a way to run live matches with professional overlays, instant replays, and mobile viewing, without the cost or complexity of broadcast infrastructure.
I designed and built Sportbak, a distributed system that captures, enriches, and streams live matches while synchronizing scoring events across all devices in real time.
Core Capabilities
- Live video pipeline with real-time overlay rendering (score, teams, match clock)
- Event-driven match control (goals, periods, pauses) synchronized across all clients
- WebRTC-based streaming playable directly in mobile browsers
- Automatic replay generation triggered by in-game events
- Unified app for both scoring operators and viewers
Key Results
- Sub-second synchronization between scorer interface, video stream, and viewer devices
- Fully live production pipeline—no post-processing required for overlays or replays
- Resilient system design: individual services fail and recover without interrupting matches
- Delivered broadcast-like features on commodity hardware (IP cameras + embedded devices)
Architecture Overview
Sportbak is a polyglot, distributed system composed of loosely coupled services:
- Video Layer (Python + GStreamer)
Hardware-accelerated encoding (VAAPI) with a custom overlay compositor rendering match state directly into a 1080p video stream in real time - Session Orchestration (Node.js)
Manages match lifecycle: periods, goals (with timestamps), timer control, and event propagation - Broadcast Layer (Node.js + Redis + MongoDB)
Distributes state and metadata across device channels using WebSockets / Socket.io - Client Applications (Angular + Ionic + Capacitor)
- Scorer interface with real-time controls and keyboard bindings
- TV/mobile viewer with live playback via WebRTC
Technical Highlights
- Designed a cross-service WebSocket protocol linking Python and Node.js systems
- Implemented real-time overlay updates via GStreamer property bindings
- Built WebRTC signaling pipeline (SDP/ICE over WebSocket) for low-latency playback
- Enabled automatic clip extraction at goal timestamps without manual editing
- Ensured fault isolation across video capture, orchestration, and broadcast services
My Role
Owned the system end-to-end:
- Designed architecture and service boundaries
- Built the video pipeline and streaming stack
- Implemented real-time communication between services
- Developed both operator and viewer applications