How We Built Diffvideo

Builder Story

Diffvideo started as a side project from a familiar frustration: we shipped constantly, but people outside engineering still asked what we had been building. The code was there. The diffs were there. The communication layer was missing.

What we optimized for first

We optimized for repeatability before polish. A beautiful one-off video is not useful if it only happens when someone has spare time. We wanted a system where merging to main could produce a shareable update by default, with guardrails when teams do not want fully automatic publishing.

That is why suggest mode exists. Autonomy is great once a team trusts the output. Until then, humans should stay in the loop without becoming a bottleneck.

The input quality lesson

The biggest lever on output quality is not clever wording in the product—it is the quality of repository context: PR descriptions, release notes, and commit messages that actually explain intent. Diffvideo can summarize and translate, but it cannot invent product truth that nobody wrote down.

We bias the product toward workflows that reward good habits: better PR descriptions produce better videos, and better videos produce more stakeholder engagement, which makes the habit worth keeping.

What surprised us

Teams care less about "perfect narration" than they care about "something I can forward." A good automated video is often good enough when it is timely, on-brand, and faithful to the change. Perfection is a luxury; momentum is the default need.

The second surprise was how quickly organizations wanted rules. Repos differ, audiences differ, and not every merge deserves the same cut. Flexibility mattered earlier than we expected.

What we would do again

We would still ship a narrow core first: GitHub in, video out, with a dashboard that makes the artifact easy to find and share. Everything else is easier to layer on once the basic loop is trusted.

If you are building in the developer-tools space, our advice is boring and true: make the default path fast, make the failure modes obvious, and treat every minute of human review as a tax you should try to eliminate only after quality is provably there.

Start generating videos from your code today

Free to start. No credit card required.