What is Vibe Coding? Creating Code with AI Explained
Vibe coding can feel instant, but it is not simply pressing a button and getting a finished app.
Vibe coding might sound like a hipster on a surfboard with a MacBook, but it’s actually a simple way to describe creating computer code using artificial intelligence.
Instead of writing every line of code yourself, you describe what you want created and the AI generates the code for you. The “vibe” part comes from the idea that you may not actually know exactly how the code is working. You are guiding the AI by feel, asking for changes, testing the result, and moving toward something that works.
While vibe coding can be looked down upon by some in the development community, its popularity is growing fast, as are its capabilities.
When people, including myself, first started vibe coding, they would ask a large language model (LLM), such as ChatGPT, Claude, or Google Gemini, to create the code for a specific app or tool, then copy and paste that code into a code editor and run it manually.
When an error appeared, you would copy that error back into the LLM and it would, hopefully, provide a fix that you would then dutifully copy and paste back. You still needed to be relatively technical, even if you were not a developer, to get all these systems set up and working. It wasn’t elegant, but it could help create simple tools, fix website issues, and build early prototypes.
Things have moved on a lot over the past few years, though. Vibe coding is now much more powerful and can complete more complex tasks and create feature-filled applications. It has also become much more accessible, with bespoke tools now doing much of the heavy lifting and setup work required to get an app or website working.
Lovable, for example, uses a variety of LLMs to create a one-stop vibe coding shop using credits as AI currency. It allows people with very little, or even no, knowledge of how to develop apps to create something quickly just by describing it. Of course, as with everything AI, understanding how to prompt well makes all the difference.
Tools and ideas to transform education. Sign up below.
I like using Claude with VS Code when I vibe code, as I know a bit of the programming language Python and want to be able to see what’s happening to the code and do some manual troubleshooting. It’s also relatively cheap.
To be brutally honest, though, AI is far more capable than I am at writing code, and I quickly have to defer to it if and when things don’t go as expected.
The difference between the two approaches is significant. With a tool such as Lovable, the “guts” are hidden and dealt with automatically, whereas with more traditional vibe coding tools you will need to set up your own environments or run programs directly on your computer to get something you can use.
What are the risks of vibe coding?
This leads into one of the biggest risks of vibe coding: you don’t fully hold the reins.
An LLM can misunderstand what you want. It can also make mistakes, confidently create code that does not work, or create fragile systems that look good but are hard to change or maintain. As complexity increases on a project, you might find yourself losing control of it. This can be particularly problematic when the AI ties itself up in knots trying to understand what you want or fix something it does not know how to fix.
This is where choosing the right AI tool can help a lot. In my experience, some AI coding tools can get stuck and claim to have fixed an issue when clearly it has not, or even worse, created a new one somewhere else.
As with all LLMs, you need to be able to decipher the language when it tells you something such as, “Oh sorry, I see what I need to do now, let me fix that,” so you know when it is genuinely correcting the problem and when it is just trying to be helpful but is actually more stuck than Winnie the Pooh in a jar of honey. Best-case scenario this can lead to wasted time or credits being used up without the issue being resolved.
It’s good to be aware of the recent horror stories, such as AI coding tools deleting databases or removing whole features from a product. It’s also worth being careful with the idea that vibe coding means anyone can now create an app. That is true up to a point, particularly for simple prototypes, experiments, and personal tools. But creating a safe, reliable app that other people depend on is a different thing altogether.
You might be able to describe what you want in plain English and get the AI to generate the code, but that does not remove the need to check, test, and understand what has been created. The easier AI makes it to build something, the easier it also becomes to build something fragile without realizing it.
This is why relying solely on a vibe-coded program that is integral to your work can be risky. But there are areas where vibe coding is, frankly, a bit magical.
What are the benefits of vibe coding?
Vibe coding feels like a genuine shift because it lets people who are not developers start making software, in the same way the early web let people publish without owning a printing press.
One of its most powerful benefits is that it allows someone with an idea to create a working proof of concept quickly. That does not mean the end result is ready to be used by hundreds or thousands of people, but it can be enough to show what is possible.
Creating a visual and working prototype can also help guide a development team and stakeholders. Instead of simply describing what you want, you can show an early version of the tool or app and use that to shape the discussion.
Vibe coding can also help you learn by doing. You can ask the AI questions and ask it to explain what it is doing and why. Over time, this can start to give you a better understanding of how the code works.
One of the most powerful uses of vibe coding, in my opinion, is creating small tools or programs that are very specific to your needs. Whether that’s a simple game you want to create for your students, a classroom quiz, a revision tool, or an app that helps keep parents up to speed on school changes, vibe coding can help you get there more quickly and at far less cost than using a development team or, in some cases, paying for a third-party provider.
Vibe coding can also be useful for experienced developers. They might not use it in quite the same way as a beginner, but it can still help them move faster. Sometimes the AI is useful for getting the first rough version of something working, even if the developer then has to go back through it, tidy it up, and make sure it is actually safe and sensible.
The important point is that vibe coding is strongest when it is used for experimentation, learning, and prototyping. It is less suitable when the software needs to be secure, reliable, long-lasting, or used by lots of people without proper review.
How to explain vibe coding to students in class
The best way to explain vibe coding to students is to say that it is giving instructions to an AI and seeing whether the AI can turn those instructions into a working program.
The student is not writing every line of code in the traditional way. They are describing what they want the software to do, then testing whether the AI has understood them correctly. That’s the key difference.
In normal coding lessons, students often start by learning syntax: the rules of the programming language. They learn how to write a variable, a loop, a function, or a condition, and then use those building blocks to make something.
With vibe coding, the starting point is often the idea instead. The student might begin with, “I want a quiz about volcanoes,” or “I want a game that helps me practice spelling.” The AI then creates the first version of the code.
That does not mean the student has finished. In many ways, that is where the learning starts. The student has to work out whether the AI understood the task. Does the program do what they expected? Is the information correct? Does the scoring work? What happens when a user makes a mistake? Can the student explain why the code behaves the way it does?
This is the part students need to understand. Vibe coding can feel instant, but it is not simply pressing a button and getting a finished app. It is a process of describing, testing, questioning, fixing, and improving.
Evan Kypreos was Brand Director of Tech & Learning and Editor of Trusted Reviews and Top Ten Reviews before moving into consultancy. He now advises organisations on content strategy, digital growth, and the practical use of AI. As a techie and father of three, he has a particular interest in how AI is changing education, work, and everyday life.
