The Reel Factory
The protocol that built the reels you're watching.
- The Voice Clone Pipeline· Personal narration without recording yourself.
- The Sample Lawyer· The clearance pipeline for the sample you already used.
- AI plays Ableton· Claude controls Live through MCP. Sixteen tracks built by talking.
tsx// One reel = scenes as React components, chained by frame offset. const SCENES = [ { dur: 100, Comp: Hook }, { dur: 200, Comp: BigStat }, { dur: 220, Comp: BulletReveal }, { dur: 170, Comp: ReceiptCard }, { dur: 150, Comp: CTA }, ]; export const Reel: React.FC = () => { let offset = 0; return ( <AbsoluteFill style={{ backgroundColor: PAPER }}> {SCENES.map(({ Comp, dur }, i) => { const from = offset; offset += dur; return ( <Sequence key={i} from={from} durationInFrames={dur}> <Comp /> </Sequence> ); })} </AbsoluteFill> ); };
- React composition model
- Remotion Sequence pattern
- ffmpeg audio mux
- IG / TikTok aspect rules (1080×1920, 9:16)
- WebVTT subtitle timing
- editorial typography for silent video
- the 80%-watch-muted constraint
If a name is unfamiliar, that's the gap. The list is the curriculum.
- 01
Scaffold a Remotion project. 1080×1920 at 30fps. One Composition per reel.
bashnpx create-remotion-video@latest - 02
Build five reusable scene primitives: HookFrame, StatTile, BulletList, Receipt, CTACard. Each is ~50 lines.
- 03
Each reel composes the same Sequence skeleton with different scene instances. Resist parameter creep.
- 04
Render to MP4 with concurrency=1. Each 30s reel renders in ~45 seconds on M-series silicon.
bashnpx remotion render ReelXX out/reel-XX.mp4 --concurrency=1 - 05
Generate captions via Whisper (word_timestamps=true) or a TTS provider's native timing track.
- 06
Mux narration + captions via ffmpeg. One command per reel; bash loop the batch.
bashffmpeg -i reel.mp4 -i vo.wav -vf subtitles=cap.srt -shortest final.mp4 - 07
Spot-watch every reel silent on a phone. Eighty percent of viewers will see it that way.
Most video pipelines build a custom scene for every reel. That scales linearly with effort. Treating scenes as composable React primitives flattens the cost: every new reel reuses the same five components and the same Sequence skeleton. The work moves from rendering to writing. The result reads editorial because the typography is consistent and silent-watchable because the constraint was the design brief.