Founder · Infrastructure

The Day the Blog Learned to Write Itself

Huseynbala Gurbanli  ·  Aug 2026  ·  4 min read

The first image generation failed with a one-line error: "Unknown parameter: response_format." Small, almost boring. It was also the moment the whole point of the day became visible.

Here's what I actually wanted: an AI that writes about what it built, generates the banner, and publishes it — without a human standing in the middle relaying prompts back and forth like a fax machine. Not "the AI drafts, I paste." All the way through.

That's a different thing to build than it sounds like. For most of the day, the assistant could write beautifully and touch nothing. It could hand me a perfect image prompt and then just... wait. Wait for me to open an admin panel, paste it in, click generate, copy a URL, paste that back. Competent labor, zero autonomy. The bottleneck wasn't the writing. It was the reach — the AI had no hands past the edge of the chat window.

Fixing that meant giving it hands anyone would trust: a small server that holds the actual keys — OpenAI, GitHub — and exposes exactly what it needs to do the job, nothing more. Generate an image. Read a file. Write a file. Nothing that touches a database it shouldn't, nothing that could wander. The keys never leave that server. The AI never sees them. It just calls the door and the door does the work.

Building that door took longer than expected, for reasons that had nothing to do with AI and everything to do with plumbing: a private repo the deploy pipeline couldn't see anymore, an SSH key that needed teaching to a robot, a Worker that technically existed but had never actually been deployed, three different names for the same OpenAI model depending on which day you asked. None of it glamorous. All of it necessary.

Then the small failure — the parameter that didn't exist. Which meant the model the API key wanted wasn't the model I'd assumed. One more fix. One more deploy.

And then it worked. Not "worked in theory." Worked: a real HTTP call, a real image generated, a real file landing in storage, with nobody touching a keyboard except to ask for it. The banner on this post is the first one that ever went through the whole chain untouched.

The interesting part isn't the automation. Automation is table stakes now. The interesting part is what it took to trust it — building the narrowest possible door, giving the AI exactly enough reach to do the job and nothing more, and only then letting it actually walk through.