Live video · AWS media services
ShowdownTV
A live streaming platform built with Next.js and Node.js on AWS, using MediaLive for ingest and transcoding and CloudFront for delivery.
The problem
Live video is unforgiving: viewers arrive in a spike at the moment a stream starts, the stream state has to be consistent for everyone watching, and buffering is the only bug users actually notice. Delivery cost also scales directly with viewership, so naive delivery gets expensive fast.
What I built
Used AWS MediaLive for ingest and adaptive-bitrate transcoding rather than running encoding infrastructure by hand.
Delivered segments through CloudFront so viewer scale is a CDN concern, not an origin concern.
Kept live stream state in Redis so every viewer resolves the same state under a start-of-stream traffic spike.
Built the viewing experience in Next.js with the player and live state decoupled, so a state hiccup does not stall playback.
Architecture
Managed AWS media services for the video path, with the application owning state and experience.
Client
Delivery
Media
Application
What was hard
The start-of-stream spike
Traffic for a live event is not a curve, it is a step. The architecture has to absorb everyone arriving in the same few seconds — which is a caching and state-fan-out problem more than a compute problem.
Business impact
- Viewer scale handled at the CDN rather than the origin.
- Consistent live state across viewers during start-of-stream spikes.
- No hand-rolled encoding infrastructure to operate.
Technologies
Working on something like this?
I'm open to senior Shopify and full stack roles. Tell me what you're building.