← Blog

Video is the reward for passing

Richie Muhammed

For a few weeks earlier this year, recording demos turned into hell. Loom got buggy on me: every time I hit record my laptop started spinning, fans screaming, and a two-minute walkthrough turned into ten minutes of waiting and re-recording. So I switched to Cap. Genuinely lighter, better than Loom.

It still wasn’t enough, because either way I was the one doing the demo. Ship a feature, stop, screen-record it, narrate it, send it to the client or the PM or QA myself. Two to four hours a week of that, for work I had already finished.

Then it clicked: my agent just built this feature. It knows exactly what it does and how to use it. Why am I the one demoing it?

The recorder was the easy part

So the first Tada was a recorder the agent could drive. It opens the app in a real browser, clicks through the feature it just built, and saves a video. Headless browsers and video encoding were both new to me, and they were still the easy half.

The hard half showed up when a recording came out wrong. A caption said the step had worked, over a frame where nothing on the screen had changed. At a glance the video looked fine. The feature hadn’t worked.

That is the problem with every screen recording, mine included: it’s footage of someone clicking, and footage is convincing whether or not the thing worked. A polished video of a broken feature is worse than no video, because someone will believe it.

The video only exists if it passed

The fix was one rule: the recording only exists if every step passed.

Each step in a run says what should be true afterwards. Click Pay, then the receipt shows. Submit the form, then the row appears in the table. After every step, the run checks the screen. All of them pass and you get the video. One fails and you don’t.

It sounds small. It changes what the video means. Before, a recording said “an agent clicked through this”. After, it says “this did what the PR claimed, and here is the evidence”. If it plays, it worked. That is a sentence a screen recorder can’t say, no matter how light it is.

Failures should be cheaper than passes

Then the cost question, which turned out to be the same question from the other side.

Encoding is the expensive part of a run: the browser, the frames, the encode, the voice-over. Spending all of that on a run that failed is paying full price to package bad news.

So a failed run doesn’t get a video at all. It gets stills: the frame where it broke, plus the few before it, private to your workspace. Cheaper to serve, and more useful. When something broke you want the moment, not a four-minute movie you scrub through looking for it.

Video is the reward for passing. That is the house rule, and it settles both halves at once. The demo can’t lie, because it only exists on a pass. And a failure costs less than a success, which is the way round you want it for anything that runs on every PR.

Where it runs now

The loop as it stands: the agent opens a PR and the flow rides with it, a short file in .tada/flows/ saying what the feature should do, written by the agent that built it. When the preview deploy finishes, Tada opens that build in a real browser and walks the flow. Pass, and the recording posts on the PR as a watch link, no login needed. Fail, and the check goes red with the frame attached. Mark the check required in branch protection and a broken flow can’t reach main, the same way your other checks work.

The part you can take without Tada

Any check you build gets harder to fool if you apply the rule. A screenshot bot, a smoke test, a demo script your agent runs before it says done:

  • The nice output only shows up on a pass. Nobody gets the polished thing for a failure.
  • The fail output is the moment it broke, and nothing else. Not a summary, not a recording of the whole run. The frame.
  • The expensive step comes last, after the pass, so a failure is the cheap path.

Do that and the output starts carrying its own proof. A video that only exists on a pass is evidence. A video that exists either way is a video.

I still record the odd thing by hand. But for anything someone else is going to judge, I’d rather the agent that built it prove it worked and hand me the recording as the receipt. This walkthrough of Tada’s own settings screen was made that way, recorded and voiced by Tada, of itself: taada.dev/d/1Y_pHuPhw51n.

Stop shipping code no one ran.

Tada opens every feature your agent ships, works through it like a QA engineer would, and stops a broken one before anyone sees it.

Add QA to your pipeline