λλ
Deemwar Monads & Abstractions

How we build developer Shorts

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.

9 live Shorts
2/5 → 4/5 “not templated” score
$0 voice per Short
< $2 cap per run

Fail fast

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.

The pipeline

Every stage can loop back. The two black nodes are gates that block the run until they pass.

  1. 1

    Find

    trending topic

    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.

  2. 2

    Elements

    style library

    Chooses the visuals: real code, terminals, diagrams, from our own style library. A scene used in the previous Short is blocked.

  3. 3

    Screenplay

    writer + 5 personas · 3+ rounds

    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.

  4. 4

    Judge the script

    independent AI judge · before any render

    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.

  5. fail → back to 3 with the reasons · three failed loops kill the topic
  6. 5

    Render

    frames · voice · captions

    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.

  7. 6

    Frame review

    vision model · ~6 key frames

    A vision model scores legibility, clipping, variety, match to the beat, and whether it looks templated.

  8. fail → back to 5, or to 3 if the script is the cause · up to 3 iterations
  9. 7

    Affiliate check

    free programs only

    If the featured product has a free referral program we join it and disclose the link. If not, the run records what was checked.

  10. 8

    Stage and upload

    one write per site per 5 min

    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.

  11. 9

    Measure and learn

    48 hours after upload

    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.

The script shape

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.

Promisewhat you’ll know
Problem, general~25–30%
Problem, in detail~25–30%
Solutionafter 50%

The style library

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.

Code shortReal code on screen, one line at a time.
Animated explainerMoving shapes that act out the idea.
Diagram buildA diagram drawn piece by piece as the voice explains it.

The huddle

Five personas argue each draft. Each one is played by its own model instance and answers in character.

Reel watcherScrolls Shorts at night, swipes away in 2 seconds, saves anything that teaches one trick.
Reel creatorHooks, pacing, a cut every 1–2 seconds, a visual payoff.
Winston teacherPromise, the idea said three ways, what it is not, a near miss.
Fact-checkerA senior engineer looking for errors and overclaims.
EditorStructure, and visual + text + sound on every beat.

What it learned so far

RunLessonRule now
Early template reelsAll looked the same; frame review “not templated” 2/5Scene library with scorecards, no back-to-back reuse
OSC 7501 prototypeTeaser opener scored cringe 0.72Concrete promise, no slogans
WhistleWent straight to the solutionProblem general → in detail → solution after 50%
Restore drill uploadStudio overwrote the title with the filenameRecipe re-reads title and description until they stick
Python lazy importsCaption grey was 2.97:1 on whiteBrand grey #6B665F, at least 4.5:1

Guardrails

Watch them

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.