TL;DR
We had a video feature built on S3 + MediaConvert + CloudFront + a hand-rolled player + a half-finished CloudWatch dashboard. It worked, but every change touched five services. This post shows the glue code we actually ran, then the same flow as one upload call against a managed video API (FastPix here, but the pattern is identical for Mux / Cloudflare Stream / api.video). You'll see exactly what code disappears.
The setup we were maintaining
Here's the honest shape of the DIY pipeline. Upload to S3, trigger MediaConvert on the object-created event, write renditions back, serve through CloudFront. The Lambda that kicks off encoding looked roughly like this:
// lambda/triggerEncode.js - fires on S3 ObjectCreated






