Someone asked me recently whether this site was “vibe coded.” Fair question — AI helped write a lot of the code. But I don’t think that’s the right term, and the distinction is worth making.
What “vibe coding” actually means
When Andrej Karpathy introduced the phrase, he wasn’t describing every project built with AI. He was describing a particular way of working: prompt the model, accept whatever it generates, and keep moving without really reviewing or understanding the output. If something breaks, paste the error back in and let the AI have another go.
The defining feature isn’t that AI wrote the code. It’s that nobody really checked it.
That’s a perfectly reasonable approach for a quick prototype or a weekend experiment. But if you’re building something you’re going to publish for other people to use, the bar is higher. A public-facing website still needs someone to review the output, test it, question assumptions, and understand how it will behave once it’s out in the real world.
Over time, “vibe coding” has been used more broadly to describe almost any AI-assisted coding workflow. I think that misses the important distinction. The interesting question isn’t whether AI was involved — it’s whether someone was still applying judgement throughout the process.
What building this site actually looked like
AI wrote a lot of the code. It also got plenty of things wrong.
Some problems only showed up once I tested the site properly. Others meant reading documentation, comparing framework changes, or adding tooling so the same mistake couldn’t happen again. None of those were solved by blindly asking the AI to “fix it.” They were solved by understanding the problem first, deciding on the right approach, and then using AI as another tool in the process.
That’s the difference I think gets lost.
AI can generate code incredibly quickly, and it’s becoming increasingly capable. Regardless of whether the code came from me or from an AI, it’s still my responsibility to verify it’s the right solution before it ships.
So what do I call it?
There isn’t a universally accepted term yet.
The one that makes the most sense to me is AI-assisted development.
AI can write code, explain unfamiliar concepts, help investigate problems, and speed up repetitive work. But reviewing the output, testing it, deciding what to trust, and understanding why something should be built a certain way still matters.
The label itself isn’t really the point, though.
Whether you use AI a little or a lot doesn’t tell me much about how software was built. What matters is whether you’re willing to question the output, verify it, and take responsibility for the final result.
That’s the difference between using AI as a shortcut and using it as a tool.