Liveclipper: one product, six architectures
Liveclipper records YouTube livestreams and turns them into clips. I’ve rebuilt it six times, and each rebuild came from hitting a limit on cost, reliability or scale.
- Serverless (Feb 2023). The YT Griffin Archive System: Serverless Framework and CloudFormation, S3, Docker workers and a Cloudflare Worker proxy.
- Lambda + queues (Mar 2023). A Lambda per task behind a queue for free retries. MongoDB Serverless was costing too much, so I moved to DynamoDB.
- ECS Fargate, then Kubernetes (Apr 2023). Long recordings don’t fit in a Lambda, so they moved into Fargate tasks. Multi-arch builds let me use cheaper Hetzner servers, then jobs moved to a Kubernetes cluster.
- Go microservices (2023 to 2024). Recorder, uploader, health and overlay services, each a Docker image built in CI.
- Laravel + ECS (2023 to 2025). The Laravel app became the centre: Horizon queues dispatching Fargate Spot tasks, Terraform and Ansible, CodeDeploy and a Step Functions state machine.
- CDK + containers (2024 to 2026). CDK stacks, Lambda status checks, recorder and uploader containers, and Whisper transcription.
The lesson I keep relearning: pick the simplest architecture that survives the next order of magnitude, and expect to rebuild.