When I’m developing a new feature for Distro using AI programming tools like Claude Code, I rarely just turn on the auto-pilot and walk away. Contrary to what you might hear from peddlers of AI tools that supposedly can spin up a new application from scratch in seconds that works great, it's not that simple.
In my experience, you can't just tell the machine what you want, go refill your coffee, and then come back a few minutes later to a working app that's valuable, reliable or secure in a real-world, production environment.
You have to make choices the whole way through. Some are matters of practicality: How much time do we want to spend on this? How much of the existing system do we really want to change today? Others are matters of taste and creativity: If we make this one element a little unexpected, will people like it?
The AI lays out the options, usually with a recommendation. But it doesn’t know your goals, your budget or your readers the way you do. Different people would make different choices at these forks, and the computer's choices might not work for Distro. Over the course of the journey, you might end up somewhere you don't want to be.
The DistroBook example
This week I set out to build a way to sell whole books on Distro. We had already assembled “DistroBot Saves the Day” as a publication, chapter by chapter – with each chapter shoehorned into the pattern of a news story. I wanted to sell it as one complete thing, with a book-like reader experience: cover, table of contents, free sample, checkout.
Over one long day, Claude Code put eight formal decisions in front of me. Below is one of them, lightly condensed.
The animation – another new feature I just developed for this column btw! – replays the choice that was presented to me by Claude Code in visual style that is very similar to how it unfolded on my screen: three choices, and then showing the one I picked. See whether you would have made the same call.
Notice there’s no wrong-looking answer up there. Each one could reasonably fit with a broader, coherent business plan. What you’re really deciding is what a “book” means on this platform, and what you’re promising every future reader who hits the buy button.
I chose option 1, by analogy to the real world: When you buy a book, you can keep it on your shelf for life. A digital copy comes with its own concerns around sharing and piracy, but otherwise the buyer of a book should always be able to go back and read it, whenever.
The other seven decisions carried similar weight. Once a publication becomes a book, can readers still buy a single chapter, or is the whole book the only purchase? (Both: a chapter for pocket change, or the whole book at a better total.) How long should an AI agent’s access pass last before it has to prove itself again? (Thirty days, balancing security against hassle.) Should we wire in a third payment path that exists only as a test? (No. Hours we didn’t have, for a rail nobody uses yet.)
I ended up agreeing with the recommendation on all eight. That’s not the machine being right while I nod along. Before agreeing with each recommendation, I made sure to understand everything in it, weigh it against goals the AI can’t fully see, and be ready to walk away from it.
Pushing back
The judgment calls that mattered most never arrived as menus, but as issues I raised proactively.
Part of the day’s work was a new corner of DistroVerse’s publishing interface, where an author uploads a cover image for their book. Real book covers are portrait, taller than they are wide, so that’s what the uploader asks for. But the discovery cards on our home page, where readers first encounter a publication, are landscape. Nobody asked me how a portrait cover should live inside a landscape card. I had to notice the mismatch and raise it. We ended up floating the full cover over a blurred, darkened blow-up of itself, the way streaming apps handle movie posters.
The dialogue ran both directions. I suggested folding the programming around the book purchase payment into the same package as the reading experience, to get it all done in one go. Claude Code pushed back: The payments work involves critical money operations, and thus deserves a reviewer’s undivided attention. That made sense, so I agreed.
By late afternoon the feature was working on our test site: cover, table of contents, free sample, checkout.
Looking back over the day, you could say I just sat there answering multiple-choice questions while the machine did the real work. Well, maybe that's sort of true, but misses the point that it was more like an AP Calculus multiple-choice exam, than a Sesame Street special. (And don't get me wrong, I do love Grover!)
POSTSCRIPT: The animation inserted in the middle of this story got built the same way the rest of this story did, in a back-and-forth with Claude Code. My ask was simple: recreate the decision prompt that was presented to me during the coding session, so readers or the Coding Journal piece would experience this multiple-choice offering the same way that I did.
The constraint was Distro itself. For security, our platform strips style and script tags out of story HTML before it renders, so an article can’t carry its own animation code. No JavaScript, no embedded styles.
The workaround came from a feature we already had: every Distro publication can attach its own custom CSS (a way of adding fancy designs and animations to websites), which loads with each story page. The animation is pure CSS living there — timed keyframes that walk the selector through the options and lock in the pick. The article itself holds nothing but plain text with class names. If you’ve turned on reduced motion, you get the final frame, choice made.
HOW WE USED AI IN THE PRODUCTION OF THIS STORY: I got AI to write the first draft of this article, relying on the transcript of my coding session within Claude Code inside Visual Studio and a custom skill I developed to replicate my own writing style. Then I used Distro Publisher, our official MCP server, to file the story as a draft directly from Claude Code to my newslode. I then edited the draft in DistroVerse’s editing interface and checked all the facts before publishing.