← Back to Work

Full product lifecycle: GPU media pipeline, payments, reliability

Swapzy

A face-swap video generator: pick a GIF, add a face, get a shareable clip — with a GPU fleet, queue, and spend model built to survive real traffic.

Role
Sole engineer, designer, and operator
Year
2026
Status
Live
  • Python / FastAPI
  • React / Vite
  • FaceFusion + ComfyUI (GPU)
  • AWS EC2 GPU Auto Scaling + SQS
  • RDS PostgreSQL / ElastiCache
  • Cognito / WAF / CloudFront
  • Stripe
  • AWS CDK / GitHub Actions OIDC

7m 25s

RDS restore drill (recovery time)

2026-04-18 · Chaos drill against a 30-minute RTO target

Challenge

Face-swap video is a generative-media problem, not a CRUD app. Each job needs a GPU, takes seconds to minutes, can fail, and costs real money per second of compute. Build it naively and it either melts the budget sitting idle or makes users wait behind a cold queue. The product had to feel instant to a first-time visitor while staying economically sane at near-zero traffic.

Process

The pipeline is fully asynchronous: an upload triggers an S3 event to SQS, a GPU worker runs FaceFusion (with ComfyUI as a second engine for stylized swaps), and the result is delivered through CloudFront. The API runs on a multi-AZ Auto Scaling Group; the GPU worker fleet scales on queue depth and runs on Spot instances. I hold the fleet at a minimum of one warm worker so a new user’s first job never waits behind a cold start — a cost-versus-latency tradeoff I decided with the math written down.

I treated security and reliability as first-class. GitHub Actions deploys via federated OIDC with no stored keys and tag-scoped SSM; the runtime database user is DML-only, separate from the migration owner; an append-only, hash-chained audit log is anchored hourly to S3 Object Lock in WORM mode. The system carries 21+ CloudWatch alarms, and I validated it through a chaos-drill campaign I designed, including a database restore measured at 7 minutes 25 seconds against a 30-minute target. A Stripe-billed Pro tier and an admin-gated entitlement system are built and verified end-to-end on production.

Result

Live in an audience-scoped soft launch (friends-and-family beta) at swapzy.co. The generative pipeline, payments, and reliability engineering are all built and proven; I deliberately hold the product in restricted beta rather than opening it to the public. It is the one project in the portfolio running a GPU generative-media workload as its core, with the distinct architecture and economics that implies.