2025–present
Content Automation Platform
A topic goes in; a scripted, narrated, edited and published video comes out.
Problem
Producing video consistently is a pipeline problem, not a creative one. The same stages repeat for every video, each fails differently, and the expensive parts — inference, image generation, speech synthesis — must never re-run without reason.
Approach
Eight-stage pipeline where each stage writes a typed artifact the next one reads, so a failure at stage six costs one stage rather than the whole run. Stages are idempotent and resumable; model output is treated as untrusted input, with a JSON repair heuristic added after a real failure in Spanish narration. Nothing publishes without a human approving it.
Pipeline
Select a stage for what it does, the artifact it writes and how it fails.
Script
Generates the narration script for the topic, following the channel's configured narrative framework.
- Writes
- script.json
- Failure mode
- Model output is treated as untrusted input: a repair heuristic escapes unescaped quotes inside string values and retries once, then raises with an excerpt around the failure position rather than returning a malformed object.
Stack
- Python
- FastAPI
- PostgreSQL
- Redis + RQ
- Next.js
- TypeScript
- ffmpeg
- Docker