Real-Time & Streaming Systems
Live video, presence and collaboration on WebRTC and Socket.io — proven at 50+ concurrent users in a single session, with reconnection handled.
What I build
Features where the delay is the product: live video classrooms, presence and messaging, collaborative editing, live dashboards, notifications and streaming. Systems that have to stay correct while hundreds of events a second are in flight.
Testat is the clearest example — WebRTC virtual classrooms carrying 50+ concurrent users in a single live session, with screen sharing, moderation controls, and the reconnection handling that real networks demand.
How I work
Real-time systems fail at the edges, so that is where the time goes: what happens when a participant loses connectivity, when a message arrives twice, when two people edit the same record, when a mobile browser is backgrounded mid-call.
State is designed to be recoverable. Clients reconnect and resynchronise from the server rather than trusting whatever they held in memory, which is the difference between a brief stutter and a session everybody has to rejoin.
What you get
- A transport chosen for the job: WebRTC for media, Socket.io or WebSockets for events, and plain HTTP where real-time buys you nothing.
- Load-tested capacity figures for your session sizes, rather than a hopeful assumption.
- Reconnection, back-pressure and idempotent event handling built in, not retrofitted after the first bad demo.
- TURN and STUN configuration for participants behind restrictive corporate networks.
- Recording, moderation and presence features where the product needs them.
The stack
WebRTC and Socket.io on Node.js, Redis for presence and pub/sub across instances, and Nginx in front. React or Angular on the client, with Ionic, React Native or Electron when the same experience has to leave the browser.
A good fit if
You are adding live video or collaboration to an existing product, or your current real-time layer works in a demo and falls apart with a full room.