All work

Launch video pipeline

Proof

I built Proof's render service, which turns a recorded take into a captioned video and checks the generated scenes for visual errors.

used Proof
50 users
'Sup Build2026 · 300+ builders · S$5K+ in prizes
1st Runner-Up

Choosing the script

Proof generates several angles from the repository and the founder's answers, then scores them against that evidence. The scoring prompt explicitly forbids invented numbers.

The render service

Whisper's word timestamps tell the renderer where to cut dead air and place each caption.

I found two security holes in my first version: one let a job fetch unsafe URLs (SSRF), and another could expose another user's render (IDOR). I closed both, put the worker behind token authentication and added row-level security rules so users only see their own jobs.

Render jobs run in a persistent queue.

How the video checks itself

In an early render, the graphics covered my face and the checker rejected the scenes. We thought the checker was broken until we looked at the frames.

Proof samples five frames from each generated scene and checks for problems such as clipped words, garbled text and obstructed captions.

The generator receives the previous HTML and a list of specific fixes, edits the affected parts and renders the scene again. The new render goes through the same check.

What broke

In load tests with 15-second clips, two renders at once finished about 20% faster per video because one could use the worker while the other waited on transcription or upload. The measured render time moved from 34.4 seconds to 27.6 seconds. A third exhausted memory, so Proof runs two and queues the rest.

Next case studySUTD Deadline Centre