myCast

Broadcast live, and decide who gets to watch.

In production — live.atudev.fr - free trial

A multi-protocol video relay server: you publish over RTMP, SRT or WebRTC, viewers receive HLS or WebRTC. Every viewer gets their own access token, revocable one by one.

Why I built it

Streaming live video to a restricted audience usually means choosing between a public platform and infrastructure you build yourself. myCast sits in between: the stream stays private, and access is managed viewer by viewer rather than through a single link that gets passed around.

How it is built

A Node and Express API in TypeScript handles accounts, streams and tokens, with PostgreSQL for data and Redis for sessions and rate limiting. The relay core converts protocols on the fly; the whole thing runs in containers behind nginx. An iOS app, Caster, lets you publish straight from a phone.

Node.js · Express · TypeScript · Prisma · PostgreSQL · Redis · Docker · React · Swift