Every Short is one run of a nine-stage pipeline built to fail fast. Agents find the topic, write the script beat by beat, render it and check it; an independent judge can send work back at two gates. Each run is measured, and each run teaches the next.
The rule behind every stage is Erlang’s “let it crash”, applied the agile way. Ship a small first version quickly. Let an independent judge check it early. Improve it one step at a time. When a path breaks, restart it clean instead of patching it for hours.
Failing is fine; failing slowly is not. The safety gates still hold for public posting, money and secrets, so every failure happens before publishing, never in public.
Every stage can loop back. The two black nodes are gates that block the run until they pass.
Reads Hacker News, trending repositories and X, picks one thing it can teach in 45 seconds, and checks every fact against the original post. The source URL is kept.
Chooses the visuals: real code, terminals, diagrams, from our own style library. A scene used in the previous Short is blocked.
Written beat by beat in Patrick Winston’s “How to Speak” style. Every beat lists the VISUAL, the TEXT and the SOUND, with timings. Five personas critique each round until the watcher says they would watch to the end and save it.
An independent AI judge scores the screenplay alone, before anything is rendered, on cringe, pitchy, useful and follow. Bars: cringe ≤ 0.20, pitchy ≤ 0.45, useful ≥ 0.68, follow ≥ 0.49.
Draws 1080×1920 frames, voices the script with a free OpenRouter voice at $0 per reel (no paid cloud text-to-speech), and times every word on screen to the voice. Text is never smaller than 26 px.
A vision model scores legibility, clipping, variety, match to the beat, and whether it looks templated.
If the featured product has a free referral program we join it and disclose the link. If not, the run records what was checked.
The description links the sources, the HN or X thread, and the deemwar.com explainer page when one exists, under “Read more”. A stuck upload stops instead of posting half-broken. Upload refuses without a logged gate pass, then verifies the Short is public while signed out.
Records views and average percentage watched 48 hours after the Short goes up. A pre-registered test decides which topics work, so no result is cherry-picked. Then it writes what worked and what failed into the pipeline’s memory, updates each template’s scorecard, and appends to the run log. The next run’s step 1 reads this first.
Patrick Winston’s “How to Speak” structure, with one rule we learned the hard way: the solution never starts before the halfway mark. A checker fails any beat sheet that breaks it.
We study top explainer Shorts in three styles for technique only: type, motion, colour, pacing, the hook frame and the end frame. We never copy their assets or text. Each technique becomes a reusable template marked “unproven” until it earns results.
Five personas argue each draft. Each one is played by its own model instance and answers in character.
| Run | Lesson | Rule now |
|---|---|---|
| Early template reels | All looked the same; frame review “not templated” 2/5 | Scene library with scorecards, no back-to-back reuse |
| OSC 7501 prototype | Teaser opener scored cringe 0.72 | Concrete promise, no slogans |
| Whistle | Went straight to the solution | Problem general → in detail → solution after 50% |
| Restore drill upload | Studio overwrote the title with the filename | Recipe re-reads title and description until they stick |
| Python lazy imports | Caption grey was 2.97:1 on white | Brand grey #6B665F, at least 4.5:1 |
youtube.com/@devtoolsdeemwar/shorts. Latest: Python 3.15 lazy imports, once: cache a command’s output, DuckLake time travel, Whistle, 16.9 MB speech-to-text.