Built With AI, Not By AI
Every repo I ship and every post on this site carries a small mark: built with AI, not by AI. Here is what that means, and why I stand behind the difference.
Why I use it
The honest reason: AI bridges the gaps in my knowledge. It lets me learn and grasp concepts at a rate I couldn’t hit alone, and it adds an automatic five-plus years of experience to my code, my projects, and my sense of what’s even possible.
The gaps are specific and they’re mine. There are subsystems I have shipped against without having read the source first, languages I was productive in before I was fluent in them, and specifications I understood properly only after I had already built something that had to obey them. In none of those cases was the model writing the thing for me. It was the difference between a week of reading before I could start and starting on day one, with the reading happening alongside the work instead of in front of it.
Some of what is on this site exists because of that, and not because a model produced it. It exists because the runway to a first working version got short enough that I didn’t abandon the idea before it did anything, which is where most ideas go.
I’m not going to pretend that isn’t the reason. It is.
The line
But there’s a line, and the line is the entire point. It is supervision. Auditing. Understanding. Maintaining. Acceleration is fine right up until it comes at the expense of the code, the output, the final product.
Here’s the test I actually use: if the quality is the same as what I’d have produced without AI, just in a week instead of six months, that’s a tool. A damn good one.
In practice the compression shows up in the boring middle: the scaffolding, the plumbing between two things that already work, the twentieth variation on a config I’ve already written nineteen times. That’s where months turn into days. The parts that actually needed thinking took about as long as they were always going to take, because the thinking was mine either way.
And if it isn’t? If I don’t understand what came out, if I can’t maintain it, if it’s worse than what I’d have written myself, then it isn’t acceleration. It’s just spitting out nonsense for no reason.
It happens, and the failure mode is almost never a syntax error. Those announce themselves. It’s confidently structured code that solves a slightly different problem than the one you asked about, or that assumes something about the system that isn’t true on this host. It reviews clean if you’re skimming. That’s why I read output instead of accepting it, and why the delete key gets as much use here as the accept key.
That’s the difference between a collaborator and a slop machine. The collaborator is faster than me and I audit every line. The slop machine is faster than me and nobody’s looking.
Build for yourself
There’s a second gate, and it’s simpler: I use what I make. mcp-box sandboxes the MCP servers I actually run. memd holds the memory for projects I’m actually building. This config runs the machine I’m typing on right now.
There’s no comfortable way to ship something careless when the thing you shipped is what boots your machine in the morning. Every shortcut comes back as your own broken workflow, on your own time, usually at the worst possible moment. That’s a harsher review process than any I’d have the discipline to impose on myself deliberately.
Building for yourself is its own quality filter. If it doesn’t work, I’m the one it doesn’t work for.
The mark
So I made an icon. Built with AI, not by AI.
A rubber stamp, deliberately: the kind of mark somebody has to press onto a thing on purpose. The outer ring reads built with AI, not by AI, with human in the loop closing the circle underneath. The inner ring says certified generated code, because that’s the part there’s no reason to be coy about, and the banner across the middle says stop slop, because that’s the point. Black ink, distressed edges, no gradient and no glow. It goes on generated code that I author and stand behind.
The phrasing carries more weight than the artwork. With says I supervised it. By says nobody did.
Built by AI is the thing everyone’s rightly sick of: unsupervised, unaudited, generated and shipped, nobody home. Built with AI is what this is: accelerated, yes, but supervised, understood, maintained, and used. Same bar as if I had done it slower and alone. The AI didn’t do the thinking. It compressed the time.
That’s the claim, and I’ll put it on everything I mean it about. Built with Ai, Not by Ai. My icon that will get placed on generated code that I author
Written from the machine it describes. More field notes: the archive · RSS.
Working on something in this territory? I take on scoped engagements.