← All posts

Behind the scenes ·

How we make our videos

Every video on our site is made in house. They're recorded by code, from the same demo factory we develop against, and voiced by a free model that runs on a laptop. Here's how, and why.

Orion Follett & Andrew PoggioneCo-founders, Factorial

If you've watched our product walkthrough, you may have wondered who made it. We did. Nobody filmed a screen, and nobody edited a timeline. The videos are produced by code that lives in the same repository as Factorial itself.

One demo factory for everything

The factory in our videos is Kestrel, a fictional company that builds electric drive units, motor controllers, battery modules, and actuators. It has two shifts, a test bay, a customer witnessing tests, a supplier lot under investigation, and engineering changes in flight.

Kestrel isn't only for videos. It's the same data we develop against every day, the same data we use to test, and the same data prospective customers explore when we give a demo. It's written to read like a real factory and generated at a realistic volume, so problems that only show up with real-world data show up for us first.

Because everything shares one dataset, a video always shows the product the way it actually behaves, not a staged version of it.

Recorded by code

Each video is a script. It starts the application against freshly seeded Kestrel data, drives a real browser through the product, and records what happens. A narrated chapter's lines are written alongside its steps, so the voice and the screen stay in sync without anyone timing anything by hand. Each recording notes the exact commit it was made from.

That means re-recording is cheap. After a good day of development, we can decide to reshoot. We've already reshot the walkthrough about a dozen times, and the old takes have become a record of how the product has changed.

About the voice

The narration is generated by Kokoro, a free text-to-speech model that runs locally on a laptop. We know it isn't the most natural voice out there. We considered moving to a better model, and decided against it for now. It's clearly a generated voice, and we're not trying to convince anyone otherwise. What it gives us is a voice we can regenerate in minutes, every time the product changes.

Why this matters to us

Not long ago, keeping product videos current would have taken a dedicated team, and it's a little sad that this kind of work is changing. But for a small team, the agility is hard to overstate. We can show the product as it is this week, not as it was at the last expensive shoot.

There's a bonus we didn't plan for. Watching our own videos, at full speed and from a viewer's point of view, we've caught real UI bugs, the kind that are easy to miss when you're clicking through a page you built yourself. Our marketing turned out to be a pretty good test suite too.

A video should show the product as it actually works today. Recording it from code, on realistic data, is how a small team keeps that true.

Watch the full walkthrough, or read the getting started guide.