If you are, in any way, involved with software development, you will no doubt be aware of the emergence of “vibe coding.”
Th term was coined by computer scientist Andrej Karpathy, a co-founder of OpenAI and former AI leader at Tesla, in February 2025.
Like many bits of tech jargon, it sounds slightly ridiculous at first. Yet behind the buzzword sits a very real shift in how software is being built.
In essence, vibe coding describes the process of building software by guiding AI rather than writing every line of code yourself. Instead of meticulously crafting functions, developers describe the outcome they want, iterate with an AI assistant and gradually shape the codebase through prompts, feedback and refinement.
It is part development, part product management and part creative direction.
And for many people (like me) who grew up managing development teams and co-ordinating web builds, it feels strangely familiar.
Vibe coding origins
The roots of vibe coding sit firmly in the rapid evolution of AI coding assistants. The early wave began with tools like GitHub Copilot, ChatGPT and Claude.
Initially these tools functioned as autocomplete on steroids, helping developers write boilerplate faster or suggesting improvements.
As with all things AI, the capabilities have subsequently developed at a rapid pace…
Large language models began to understand context across files, generate full components and explain logic. A new generation of AI-first development platforms emerged, including tools like Lovable, Replit and Cursor (code editor).
Suddenly, developers were no longer just asking for snippets of code. They were describing entire features or applications and letting the AI assemble the structure.
The developer’s role began to shift from author to director.
Hence the phrase “vibe coding.” You describe the vibe of what you want, and the machine fills in the details.
The hype cycle
As with most technological shifts, the hype has been intense.
Scroll through LinkedIn and you will see endless posts proclaiming that AI will replace developers, nobody will need to learn to code and how you can build a SaaS empire in a weekend with a few prompts.
Some of this is true. Much of it is not.
AI absolutely accelerates development. It can scaffold projects, write functions and debug issues faster than most humans. But the idea that coding has suddenly become effortless is, frankly, nonsense.
In my humble opinion, the reality is that AI shifts the bottleneck rather than eliminating it. Instead of writing code line by line, the challenge becomes guiding the AI effectively and fixing the things it inevitably gets wrong.
A personal experience
The real trigger for this post is a couple of evenings messing around with Claude to build an interactive booking calendar for a personal project at https://www.peg-y-don.com/book/.
I switched the underlying booking platform a couple of weeks ago, which required a rethink about how the booking experience worked. Whilst the booking platform does offer its own booking journey, it was a bit over-complicated for my liking and the SEO geek in me didn’t really like the fact that it sat on a different domain.
I therefore wanted to add a simple availability calendar widget to the main site to allow users to browse available dates and see prices for their chosen holiday dates before progressing to the actual booking form, which I am happy to leave on the external platform to avoid any potential headaches with payment processing.
The daily availability and spot rates are provided by an API feed, but it is reasonably limited so the front end needs to be able to do some vaguely complex work to deal with aspects such as minimum stay rules, changeover days and weekly discounts.
None of it is rocket science, but my personal coding skills are definitely not up to the challenge. Using Claude AI to scaffold the project made the initial build remarkably easy.
I chose to use Claude as I think it has the best reputation for writing actual code. I had a few dummy runs with ChatGPT – it sort of worked, but the output was definitely buggier and felt less refined.
Within a very short period of prompting, I had a working WordPress widget that was getting fairly close to my vision of what I wanted. That part felt almost magical.
But the interesting work began afterwards.
Fine tuning
The first draft of AI-generated code almost always works in principle, but rarely handles all real-world edge cases.
In this case, the biggest challenge was changeover logic.
Whilst the API provides a simple ‘true’ or ‘false’ value for ‘availability’, any one day can include both a check out and a check in. In other words, a given date can simultaneously represent the end of one booking and the start of another. Handling that correctly within the calendar interface required additional logic in both JavaScript and CSS state handling to interpret the API feed and build the calendar to display correctly.
All very doable, but this is where experience matters.
AI could generate the code, but knowing what to ask for and how to debug it required a working understanding of APIs, JavaScript, CSS states and booking workflows.
After a few rounds of iteration, I was pleased to see that the combination of Claude’s coding skills and my direction resulted in a WordPress plugin that achieved the objectives I had set myself. There are aspects that I will polish, but the short story is that I build a plugin in a couple of hours one evening.
There is no doubt that I would not have been able to code it myself.
A familiar feeling
Interestingly, the whole experience reminded me strongly of my old web producer days. Back then, my role involved coordinating designers, developers and project managers to deliver websites or applications.
I was never responsible for writing the code myself, but I understood enough of the process to guide / manage the build.
Vibe coding feels very similar.
Instead of briefing a developer, you brief the AI. Instead of reviewing code commits, you review generated output. The skill is not coding. It is technical direction.
The existential question
This inevitably raises an uncomfortable question.
If AI can generate code so effectively, what happens to junior developers?
Traditionally, junior roles have been where people learn debugging, understand architecture and develop practical coding experience.
But if AI tools now produce large chunks of working code, at low cost without holiday / sick days, fewer entry-level opportunities will exist. That leads to an even bigger concern.
What happens in 10–15 years’ time when many experienced developers retire and there is nobody coming through the ranks?
Software engineering has always been a profession built on apprenticeship. Remove the bottom of that pyramid and the long-term consequences become unclear at best and fairly catastrophic at worst.
AI is a tool, not magic
I often find myself making the analogy that AI is like a power tool.
In most scenarios, I would much rather use an electric drill than a manual screwdriver. But… the drill does not decide where the holes go. The effective use of any tool demands an experienced user.
In this case, I could guide an AI assistant like Claude to produce a semi-decent WordPress plugin because I understand APIs, CSS, JavaScript and how the web build process works.
Without that foundation, achieving the same result would be much harder – maybe even impossible?
That said, the direction of travel is obvious. Platforms like Lovable and similar AI-native builders will inevitably become more capable.
The barrier to building software is falling, but understanding how software actually works still matters.
At least for now.