I Didn’t Build the Pipeline I Planned. I Built the One That Worked.

Written by

in

The original idea was clean. You point AI at a mobile game, it scouts the mechanics, writes the script, generates the images, produces the review. No recording sessions. No editing. No you, really — just a prompt and a published video.

That’s the pipeline I set out to build.

It didn’t work.

Not because the individual pieces were broken. The scouting ran. The scripts came back. The images generated. But the output was the kind of content that exists in a category by itself — technically complete, immediately recognizable as something a human didn’t make. Nobody wants to watch it. I didn’t want to watch it.

The surprise wasn’t that fully-automated AI content looked bad. The surprise was how long I kept trying to fix it before accepting that this particular problem wasn’t an engineering problem.

So the pipeline changed shape. If AI couldn’t generate the review, maybe it could at least handle the production. I play games anyway. I could record the session, feed it through OBS automation, let FFMPEG cut the interesting parts and ship them as Shorts. Less ambitious. More honest about what I was actually building.

OBS never cooperated. The API surface, the timing, the state management — every integration attempt landed somewhere between fragile and broken. I spent sessions I didn’t have on a problem that kept reforming.

I left OBS alone and worked with what I had: recorded footage, a transcription pipeline running Whisper on Tower, and FFMPEG.

The FFMPEG path worked.

Record a talk-over session. Transcription runs on Tower. FFMPEG processes it into a Short. The upload schedules. I play the game. Everything else is automated.

That’s the pipeline that’s running now. Three weeks of building — posting the whole time — bought six weeks of runway. Six games in rotation, Shorts publishing daily, the whole thing running on Tower while I’m at the day job.

What I understand now: the goal was never full automation. The goal was removing friction from the parts of the process that don’t require me. Playing the game requires me. Deciding what’s interesting requires me. Transcribing, cutting, formatting, uploading — none of that does.

The pipeline I planned would have removed me from the parts that matter and kept me in the parts that don’t. The pipeline I built got that backwards and arrived at the right answer.

The AI didn’t write the review. It wrote the caption. That turned out to be the correct job.

The repo still has the old layers in it — the scouting code, the failed OBS integrations, three distinct shapes the project wore before landing on this one. I haven’t cleaned it up. The dead code is an honest record of what I thought this was going to be.

The next version is probably a clean rebuild as an MCP server, now that I know what the actual tools are. Five or six tools. Transcription, processing, scheduling. Nothing it took three attempts to discover I didn’t need.

That’s the pipeline the first version was trying to become.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *