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.

  1. Serverless (Feb 2023). The YT Griffin Archive System: Serverless Framework and CloudFormation, S3, Docker workers and a Cloudflare Worker proxy.
  2. 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.
  3. 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.
  4. Go microservices (2023 to 2024). Recorder, uploader, health and overlay services, each a Docker image built in CI.
  5. 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.
  6. 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.