Inside the render pipeline: turning a `git push` into a TikTok in 4 minutes
A walkthrough of how SuperPost goes from webhook to published vertical video — the queue model, the GPU choices, and why we run Modal.
By Vuk· Co-founder
The fastest path from a git push to a published Reel is 3 minutes 47 seconds. We've measured. Here's what happens in those four minutes.
The shape of the pipeline
Five stages, each idempotent, each independently retriable:
webhook → context → script → render → publish
The webhook is GitHub's, hitting our gateway. Context is a fan-out RAG call that pulls the last 30 days of commits, the README, the issue tracker, and any open PRs into a 4k-token brief. Script runs three parallel hook variants through Claude, pinned with the customer's voice profile. Render is the expensive one — we'll come back to it. Publish is six adapters, one per platform, each speaking the platform's native API.
Why Modal for the render
Render is where the system spends 80% of its wall-clock budget. The job is: take a script, generate a voiceover with the customer's cloned voice, generate b-roll and screen captures from the diff, composite them in ffmpeg, encode for six aspect ratios.
We tried three setups before landing on Modal:
| Stack | Cold start | $/render | Why we left it |
|---|---|---|---|
| Lambda + EFS | 8s | $0.18 | EFS throughput tanks above 8 parallel renders. |
| GKE GPU pool | 110s | $0.24 | Idle pool was 60% of bill. |
| Modal | 3s | $0.11 | Wins on every axis. |
Modal's secret is they amortize a warm Python pool across customers. Our worst-case cold start is the first render of the day; everything else hits a warm container.
What it looks like in practice
A push that adds 47 lines to a Rust hot loop becomes:
- A 28-second TikTok ("we got 3x faster overnight")
- A 14-second YouTube Short ("here's the one-line patch")
- A 1-image LinkedIn post ("benchmarks before/after")
- Three X drafts (different hooks, all approved or sent to your queue)
- Two Instagram Reels (vertical, captions burned in)
- A Facebook page post
All in 3:47.
What's next
Next up: the A/B/Z hook engine, and why Thompson sampling beats round-robin once you have more than ~50 posts of history.
Keep reading
- Engineering
Autonomous content for indie devs — how the brain loop works
A walkthrough of the closed loop that turns a git push into six native posts, learns from the engagement, and gets sharper every week. This is the system behind SuperPost.
Read →
- Engineering
Brand voice cloning — the privacy story
How SuperPost learns the way you write without ever exposing your voice to another customer's account, another customer's model, or our shared training data.
Read →
- Engineering
C2PA provenance on every AI render — and why we made it non-optional
Every video, image, and post SuperPost publishes carries a cryptographic provenance manifest. Here's what it contains, why we ship it on every render, and what it means for the future of AI-generated content.
Read →