A · the opener — LOCKED
Every episode opens with the beat opener AND the figure card, together. The display line makes the claim; the figure card is what makes it checkable. Split them across two beats and the first thing a viewer sees is an assertion with nothing underneath it.
what changed this week
Four days in August, and the price of a token fell by half
median cold start
371.23 ms
Forty runs, warm cache, on integrated graphics.
was 423.60 ms last week
12.4%
B · the figure card, on its own
Away from the opener it is the workhorse of the whole episode: one number, what it measures, and what it moved from. The stat tiles beside it carry the supporting figures — three at most.
C · comparison
Before and after. The two panes are identical apart from what is being compared — never style one to win.
before
0.4 fps
Seven blurred shapes.
Nearly nine hours an episode.
after
6.9 fps
The same shapes as gradients.
Nineteen minutes.
D · bars
Ranked quantities. Always labelled, always with the number on the row — a bar nobody can read a value off is decoration.
Plate background
10.9
Dusk
6.9
Mint / Sky
6.9
Before the fix
0.4
E · meter
One quantity against a target. The tick is the target; the fill is where we are.
delivered loudness
−16.5 LUFS
−26 quiet
target −16
−9 loud
F · chips
Small facts that arrive together. 30–80 ms apart, never all at once.
Apache-2.0
runs offline
24,000 Hz
no GPU
commercial use clear
G · claim and source
Someone else's confident claim. Attributed on screen, or it becomes ours the moment we animate it.
“150× realtime on CPU.”
voicebox README, retrieved 27 Aug
the model card says GPU
H · steps
A process in order. The completed ones fill; the current one is outlined.
1Write the script
Phrase overlap checked against every source
2Render the narration
Normalised to −16 LUFS before anything is built
3Build against S(n)
Never against literal seconds
4Stills, then render
Stills catch what typechecks cannot
I · table
When there are more than three figures and the comparison is the point.
| Engine | Licence | Rate | Voices |
| Kokoro | Apache-2.0 | 3.4× | 54 |
| Piper high | per-voice | 2.1× | 904 |
| Piper medium | per-voice | 4.6× | 904 |
| edge-tts | none | — | 500 |
J · code and commands
Real commands only. Mono, pressed in, never a screenshot of a terminal.
python video/imagegen.py --raw --name clouds --size 1920x1080
npx remotion render Clouds out.mp4
K · lower third, over footage
Type over a screen recording. The scrim is not optional — 0.82 at the base, clear by 52%.
M · orbiting pane — for anything live
A blob travels behind the frosted sheet on a 5 s loop, so the glow moves around the card. Use it for something in progress — a render running, a count still climbing — and never for a settled figure, or the movement stops meaning anything.
rendering now
8,412 / 13,188
frames, 10.9 fps
about seven minutes left
still open
Which of the four an audience actually prefers.
two weeks of numbers
L · the limit — how every episode ends
Not “go and try it”. What it costs, what it cannot do, or what you have to decide.
the catch
It runs on one laptop, which means it renders while you wait — and two
videos a day is the ceiling, not the plan.
Worth it if you value nothing leaving the machine.
decide for yourself