Work / 2025
ezStream
Stream to YouTube and Twitch from the browser.

Rooms, peer to peer
Everyone in a room connects to everyone else directly over WebRTC, with Socket.IO carrying the signalling that sets the calls up. Rooms hold several people at once.
~4 slatency in multi-participant rooms.
Out to YouTube and Twitch
Paste a platform’s RTMP URL and stream key into the room, and FFmpeg on the server transcodes the stream and pushes it out over RTMP, with the bitrate, frame rate and resolution you choose.
Alive in a background tab
Browsers throttle inactive tabs, and that froze the canvas the stream is drawn on whenever you switched away. I fixed the throttling, so the broadcast keeps running in the background.
The rest of the stack
A Next.js front end in TypeScript with Redux and Framer Motion, and Node.js services for signalling and streaming, with JWT sign-in and sessions in MongoDB. It is deployed on Render.
