Video generated by code
- Year
- 2025-2026
- Role
- Founder, Product & Engineering
- Contributions
- Product direction, Full-stack build, Agent tooling
Story by Numbers is a video platform I have been building since early 2025. It renders video from code: every film is a React component, assembled from data and rendered frame by frame in the cloud. The fastest way to explain it is two jobs. A pub in Haarlem asked for the first. A storm warning started the second.
A jazz night with no photographs
The Wolfhound is a pub in Haarlem that runs a jazz underground night. For the announcement there was no photography and no footage. The materials were a sound clip from the trio and the event data: the date, the time, and who plays what.
The illustrations were generated in a riso print style in the pub's own green and red. The captions are timed to the sound clip word by word, so the announcement plays like the night sounds.
The point is not this one video. An event program is a data stream, and this pipeline reads one. The same run that made this reel can make the whole month: each night with its own lineup and date, and small variations in color and illustration from event to event so the feed stays fun rather than templated.
The storm hits Amherst
Andrus Power Solutions installs standby generators in the Berkshires. I built their website and an automation that watches public weather and outage feeds across their service area and mails postcards to homes that depend on a private well. The same signal can now start a film.
A living room goes dark and the cat's eyes catch the last light. One house on the street stays bright. By the closing shot the generator has switched itself on and the cat sits on its housing in the rain. The script names what a Berkshire homeowner actually loses in an outage: well water and medical devices.
The warning does the targeting. It names the towns in scope, the pipeline writes each one into the opening line and queues a render, and the film is ready while the storm is still in the forecast. This run named Amherst. A warning over Greenfield renders Greenfield's.
The studio
Generation gets a film most of the way. The last part is taste, and that happens in the studio, a timeline editor over the same data the agents write.
That is the Andrus film on the timeline. The transcript panel holds the script with the town as an open slot, and every word below the scenes is a chip the captions are timed to. Scenes stretch to match the audio, transcript and playhead highlight each other in both directions, and every color, headline, and duration a layout exposes can be adjusted by hand. When a generation step proposes variants, they sit side by side and a person picks the one that looks true.
The studio also sets the frame: 9:16 for reels like the Wolfhound's, 4:5 for feeds like the storm film, 16:9 for anything wider. One project renders to any of them.
The platform underneath
The whole workflow is exposed to AI agents as tools: create a project, browse the layout library, assign content to a slot, write the headline, queue a render. Every tool call is validated against the same schemas the renderer uses, so an agent either produces a film that plays or a clear error that tells it what to fix.
Scenes come from a library of reusable layouts, React components with named slots and a handful of exposed settings. New layouts scaffold from a single command, so a client's visual language becomes a working template in an afternoon. Voiceover, illustration, and image-to-video models sit inside the pipeline, each with a known price before it runs, which means an agent can be trusted with a budget.
Rendering is deterministic: assets are resolved before the render starts, components are pure functions of the frame, and the same project produces the same file every time. Video that behaves like software can be versioned, reviewed, and re-rendered a year later without surprises.
Where this is going
The platform is in private development while I build it out with client work, like the Instagram assets for a custom jeweler. I write about the build, the rendering techniques, and the agent tooling at /writing. If your organisation has material that could become film, email me: jason@storybynumbers.com.