I Built an AI Video Editor in Two Days. The Bottleneck Is My Dog.
Nine phone clips from walks with my search and rescue dog became six captioned, branded Shorts, scheduled on my own Postiz. AI did the cutting, captions and scheduling. It can't film the dog.

I have a Belgian Malinois named Echo, a search and rescue dog, and a company, DogBase, that builds software for teams like ours. Footage of a working dog stops people scrolling. Footage of me talking about software doesn't. I have the numbers: on the DogBase YouTube channel, Shorts with Echo working get 800 to 1,800 views. Shorts of me talking about AI get 11 to 280.
So the plan was simple. Once a week, record a walk with Echo, talk to the phone for a few minutes, and let AI do the rest. This week I built the rest. Here's what it is, what broke, and the part AI can't do.
What went in
Nine vertical clips from two walks, about 22 minutes, shot on a phone. No mic, no second camera. Mostly me walking and talking, plus one clip of Echo working a bush where he'd found something a few days earlier.
What came out
Six videos of about a minute each, in two brands: four for DogBase and two for my own channels. Captions burned in with the spoken word highlighted, title cards, an end card, and audio at -14 LUFS, the loudness YouTube, TikTok and Instagram expect. Three of them are already scheduled.
The pipeline
- Record. A phone and a walk.
- Transcribe. whisper.cpp runs on my laptop and gives a timestamp for every word.
- Pick and cut. Claude reads the transcripts, proposes the strongest moments for each channel and writes a cut list: which clip, which seconds, which title on screen. I choose.
- Caption and render. ffmpeg cuts the pieces. Remotion, which renders React components as video, adds the captions, titles and end card in each brand's fonts and colors.
- Review and approve. I watch every video and approve every caption and post before anything goes out.
- Schedule. The videos upload to my self-hosted Postiz and go out to YouTube, TikTok, Instagram, Facebook, LinkedIn and X.
Steps 2, 3, 4 and 6 are code. Steps 1 and 5 are me. That split is on purpose.
What broke
Most of the two days went here, and it's the useful part.
The transcripts were garbage at first. whisper.cpp's default build runs on the GPU through Metal. On my Intel Mac it returned confident nonsense. The CPU build was fine. Same model, same audio.
The phone video wouldn't play in the renderer. My phone records HEVC with a rotation flag. Remotion renders in headless Chrome, which can't decode that. The fix was to never point the renderer at a raw clip. Every piece gets cut and converted to H.264 first.
Captions dropped words. Whisper sometimes gives several words the same start time. My caption code used the start time as the React key, so duplicates vanished and "Good boy" became "boy". Whisper also drops the space before some words, so "So instead" came out as "SoInstead".
Words got cut off at the end. Whisper's word timings end early. Cut exactly on them and you clip the last syllable. Now every cut runs a little into the silence after the last word, up to a third of a second, without reaching the next one.
A title broke in the middle of a number. "You say 3.5. The data says 3.8." wrapped with "3." on one line and "8." on the next. Keeping numbers together fixed it.
The app card covered my face. For the product videos I wanted the app on screen while I talk. The first version put a card over the top half of the frame, which is exactly where my face is when I hold the phone at arm's length. Those parts are now a split screen: the app on top, me below, captions in between.
The uploads went nowhere. Postiz's assistant tools can only fetch media from a public URL, and the command line tool's sign in goes to Postiz's cloud, not my server. The fix was an API key from my own instance.
None of these are hard. All of them would have shipped if I hadn't watched the output. That's why step 5 exists.
What I'd tell another founder
Let your numbers pick the format. My talking head videos about AI were the ones that didn't work. Now every DogBase video opens on Echo in the first two seconds, even when the topic is software.
Keep the human step small and real. I don't edit. I pick the moments, read the captions and approve the posts. That's the part that keeps it honest.
Schedule in your audience's time, not yours. I live in Tallinn, but that isn't when my audience is scrolling, so everything is planned in US Eastern. Dog videos go out on weekend mornings. LinkedIn and X go out on weekdays.
The bottleneck is the dog
Editing used to be the slow part. It isn't anymore. Outside of one walk, I had exactly one more good shot of Echo: him running to me on a recall. Two of the six videos open on it.
AI can cut, caption, brand and schedule. It can't film my dog. So the job this week is the same as it was before I built any of this: go outside, train with Echo, and point the phone at him.
The videos are on DogBase's YouTube and my channel.
Building something with AI?
Fractional CTO, AI agents, or a rescue for an AI-built app.