Early accessSuperPost is in early access. Sign up to get early-bird pricing locked for life.Lock pricing →
superpost
Engineering2 min read

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:

StackCold start$/renderWhy we left it
Lambda + EFS8s$0.18EFS throughput tanks above 8 parallel renders.
GKE GPU pool110s$0.24Idle pool was 60% of bill.
Modal3s$0.11Wins 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.

Newsletter

One short email a week.

New posts, what we're shipping, and the occasional contrarian take. No sales.

Unsubscribe in one click. No spam.

Keep reading