Vibe Coding Gains Traction Via Users Writing Prompts That Spur AI To Automatically Generate Usable Software Code

People are getting excited about doing vibe coding and being vibe coders, here’s why.
getty
In today’s column, I closely examine the relatively new field of vibe coding.
If you aren’t familiar with what vibe coding is or possibly only vaguely heard about it, no worries, since I am going to bring you entirely up-to-speed. The keystones will be presented. Tradeoffs are identified. The future of this rapidly expanding means of devising software by tapping into the generative capabilities of modern-era AI, such as ChatGPT, Claude, Llama, Grok, Gemini, and other large language models, will be discussed.
Let’s talk about it.
This analysis of AI breakthroughs is part of my ongoing Forbes column coverage on the latest in AI, including identifying and explaining various impactful AI complexities (see the link here).
Vibe Coding Is Hot
As a quick background, I will start by laying out the core fundamentals of vibe coding.
The usual way to craft programming code entails the handwriting of source code, often using a conventional programming language such as Python, C++, and other popular coding languages. Nowadays, generative AI and LLMs are proficient enough that you can use the AI to generate code for you. In the same manner that you enter a prompt into AI to generate a story or answer your questions, the AI can instead produce programming code on your behalf. An entire Python program, for example, can be produced in a few seconds or minutes, instead of handwriting code that might have taken hours, days, or weeks to devise.
This suggests that non-techie users who want to devise apps can simply tell the AI what they want an app to consist of, and voila, the AI will spit out the code for you. This is considered “vibe coding” because you simply express the vibe of what you want done, doing so in natural language such as English, and the AI does the heavy lifting to generate the needed code.
Every person of a non-technical and/or technical bent can suddenly become rich and famous by creating an app that they didn’t have to lift a finger to laboriously code.
Vibe Coders Are In The Room
A user who performs vibe coding is casually said to be a vibe coder.
Just about anyone can claim they are a vibe coder. That makes the title somewhat murky and tenuous. Some ardently believe that there should be a universal certification or licensing that requires you to prove that you truly know how to do proper vibe coding, and only then can you proudly declare you are a vibe coder. Similarly, courses on vibe coding and how to be a top-notch vibe coder have appeared.
Currently, vibe coding and being a vibe coder are an ad hoc and seat-of-the-pants foray. Whether it matures into something more formalized and studious is an open question. The betting line is that it won’t go through any stringent formalization. The assumption is that by-and-large, most vibe coding will be undertaken by a hands-off chunk of the world’s population and mainly be performed on an off-the-cuff basis. Maybe we will eventually end up with two classes of vibe coders, professional vibe coders versus amateur vibe coders, of which only a tiny proportion of vibe coders will be in the professional bucket.
Time will tell.
The Dream Of Grand Dreams
You likely know that there has been a longstanding desire to allow non-programmers to write code. This is one of those monumental quests. Some refer to this as democratizing software. Allow anyone who has an idea about devising a computer program to be able to do so. Don’t keep software development as a secret, arcane, pricey, and elite-oriented province.
Make software building available to all people everywhere.
Various automated tools have been put together to enable a user to enter their needs and press a button to get the code produced for them. The resultant program or app is established without any need for understanding computer programming. You don’t need software engineering skills. You don’t need any specialized skills at all.
Not A True Winner-Winner Chicken Dinner
Those kinds of tools have had mixed success over the years.
Clearly, if the tools were magical and magnificent, they would all still be around and have taken over the realm of software development. There wouldn’t be software developers today. The revered role would be obsolete. It would be like the buggy whips that were put out of business when the automotive industry became a commercial success, and horse-drawn carriages were no longer popu
Frankly, end-user tools to produce apps have not made much of a dent in the by-hand side of the coding business. I am not saying there aren’t lots of code-producing tools in existence. There are plenty. They scrape away to gain adoption. The automation tools haven’t put much of a crimp on the 27 million or so of today’s global software engineers who generally do their coding by hand.
Generative AI Learns Coding
A new sheriff is in town when it comes to code generation. It is the lightning-fast rise of generative AI and LLMs. Allow me to lay out the exciting tale.
Generative AI normally takes as input a series of prompts by a user and then tries to answer questions or generate stories and responses based on what the user asked for. The underlying mechanisms involve immense pattern-matching based on vast arrays of human writing. An LLM is set up by doing explicit data training on human-written content that the AI patterns on. The result is an amazingly fluent-seeming AI that interacts akin to a human type of conversation. For more about how this technically works, see my coverage at the link here.
Here is something for you to ponder.
If we can have AI get data trained and mimic how people write stories, poems, and other narratives, can we do the same for the writing of programming code?
The answer is yes; this is absolutely doable.
Like patterning on words and stories, we can collect tons of source code and get AI to pattern on the nature of programs. This makes abundant sense because code is once again a form of writing. It is a specialized form of writing. The AI doesn’t care whether the pattern matching is on natural languages versus specialized languages, such as the language used in coding.
Languages are languages. Period, end of story.
Prompting To Generate Code
How do you get AI to go ahead and produce code for you?
Easy-peasy, you merely enter a prompt that tells the AI to generate code. This assumes that the AI maker has beforehand data-trained the AI on the nature of coding. If that hasn’t been done, the AI will likely try to generate code, but the results will probably be half-baked and extremely sketchy.
Okay, so you can readily prompt a suitably versed AI into generating code.
You must include in your prompt what you want the code to be able to accomplish. Based on your natural language description or stipulated requirements, the response by the AI will be a whole bunch of programming code. You can then grab the code and plunk it into someplace to run it. The AI makers have different ways for you to do so, such as running the code in a special, considered runnable protective sandbox that the AI system provides. Sometimes you need to export the code and run it on some other platform.
In theory, you do not ever need to inspect the code. It is a hands-off affair. The code is a black box, as far as you are concerned.
The life cycle of developing software via generative AI goes like this. You tell the AI your specifications, the AI generates code, and then you slide the code over into a platform that executes it. At that juncture, you presumably play with the generated app, test it, and so on. If needed, you go back to the AI and tell it to generate a new version based on something else, as clarifications or expansions on what you want.
Rinse and repeat.
Twists Along The Way
Depicting vibe coding in this overall manner surely seems to suggest bliss when it comes to generating apps. Sorry to say, there are still lots of wrinkles that are being worked out. We are not yet in a perfect world of AI-generated code.
Do not fall for handwaving that makes it seem like vibe coding is fully ready for prime time. It isn’t. Many people go into the vibe coding realm with excessively sized expectations. You can’t blame them for this. Banner headlines pound away at us that vibe coding is invincible and the cat’s meow.
Allow me a moment to offer just a few of the gotchas and downsides.
First, your prompt is the prevailing win-or-lose factor when it comes to generating suitable code. If you do a lousy job of describing what the app is intended to accomplish, the code is not going to miraculously do what you had in your mind. You must write an astute prompt that properly describes in natural language what the code is supposed to ultimately bring forth. Leaving out any vital details or stating the requirements in ambiguous ways is going to undermine the result. Likewise, writing a vast treatise is bound to confound the AI. The Goldilocks principle applies to ensuring that the soup is not too hot and not too cold. Write the prompt in a balanced way.
You never know what you might get in a box of chocolates, especially if you failed to sufficiently say what you wanted.
Secondly, the prompt must also give guidance to the AI about the code generation. I realize that seems odd. Shouldn’t the AI take your stated requirements and do its best to generate code? Not yet. A properly composed prompt should emphasize to the AI that the code should be robust, it should be comprehensive, and include internal error checking, and so on. Those are characteristics that are best stated overtly. Do not assume the AI will necessarily seek to produce quality-level code.
I am going to be doing a best practices series regarding prompting when doing vibe coding. Be on the lookout for that upcoming coverage.
Code Generation Troubles
You can readily discern that the user side of vibe coding has challenges. A vibe coder must be on their toes. A vibe coder asleep at the wheel will ruin the concoction.
Turns out there is also a sizable hitch in the AI internal code-generation mechanics.
The difficulty is that AI isn’t yet fully adept at producing programming code. There is a notable chance that the code will have some errors in it. Another notable concern is that bugs will be inadvertently incorporated into the code. Even worse is that a devious behind-the-scenes evildoer might have planted nefarious elements inside the AI so that when the code is generated, there are hacks included, and the code is going to perform evil acts once you begin to make use of it.
Who or what will take care of the improperly generated code?
Your first thought is that the user doing this vibe coding ought to do so. They generated the code; therefore, they should be responsible for perfecting the code. A big challenge is that the very same end-user who produced the code via writing prompts might not have any clue about programming and what in the heck is going on in the code that has been produced. An analogy would be someone who knows how to drive a car but is clueless about how to fix the engine when it conks out on them. They lift the hood, and everything looks mysterious and baffling.
If a video coder happens to also be a proficient software builder, they likely can indeed look at the generated code to fix it. Ergo, that’s a circumstance of the vibe coder doing both the code generation via prompts and then doing the debugging on the generated code.
The thing is that vibe coding is presumably supposed to be a widely adaptable approach to producing programs. A vital assumption is that end-users having near-zero programming knowledge will use AI to produce programs. The widest possible use of vibe coding will be by people who aren’t going to practically be able to tackle the code that has been generated.
Getting AI To Clean The Code
An allied assertion is that if AI generates foul code, tell the AI to get its act together and fix the darned stuff. Just keep imploring the AI until the code becomes pristine. This might take a series of browbeating prompts, but that’s not a big deal. An end-user can simply command the AI to do a cleanup, wait and see what happens, and if needed, go ahead and repeat the declaration doggedly.
Sorry to say that this repetitive act of AI-based code cleanup has problems.
Sometimes the AI does this flawlessly, and the code is turned into pure gold. I wouldn’t bet on it. Any relatively complex code-generated program is not going to lend itself to easy fixes. I’m not saying the AI won’t always be unable to clean up the code. Sometimes it does, sometimes it doesn’t. The future suggests that the AI will be improved such that the code is perfect at the get-go, or the AI is proficient at squaring away the code that has been generated.
The especially disturbing aspect is that the AI can introduce new problems while in the quest to do the clean-up. Suppose the AI cleans up some of the code. Great, wonderful news. Meanwhile, the AI introduces several new bugs and errors. Whether you will even be aware that the AI has additionally messed up the code is probably not in the cards. The AI is bound to tell you the opposite, proclaiming that the world is a happy place and all your code is good to go. Don’t believe the AI.
The zillion-dollar question then arises as to how else the code can be fixed?
Some software developers are opting to engage in a new role known as a vibe coding cleanup specialist. I’ll be exploring the details of this new role in my next posting.
How We Got Here
Software developers who already know how to write code have been extensively playing around with generative AI to do code generation for quite a while. Years on end. The reality is that leaning into an LLM to aid you in producing code is not a new idea. The main stumbling block was that the AI wasn’t very good at the task.
Partially, this was because there had not been a concerted effort to train AI on code. The focus was on getting AI to chat with people. Along the way, AI was getting exposure to online postings of programming code. This led to a sideline aspect of the AI being able to generate code. It was a happenstance.
After successfully rounding the corner of generating text, the AI makers shifted into a mode of concentrating on code. They collected gobs of programming code and fed this into the pattern-matching training process. The capability of generating code was no longer a sideshow or hidden amidst the shadows.
Being able to generate code was finally getting a chance to shine in the bright lights of another erstwhile reason to use generative AI and LLMs.
Vibe Coding Gets Coined
Most software developers who were using generative AI to generate code were doing so without much fanfare. This task was so under-the-radar that there wasn’t a handy name for it. If you talked with a software builder, they might go into a lengthy explanation of what they were doing. A succinct and catchy label was sorely needed.
Andrej Karpathy, an AI luminary who is a co-founder of OpenAI and previously served as a prominent AI leader at Tesla, turned the tide when he happened to come up with a clever name for this process of using LLMs to generate code. His now-famous tweet, posted on February 2, 2025, suddenly launched into the worldwide viewpoint an otherwise quasi-underground activity taking place unceremoniously across the field of AI (excerpts):
- “There’s a new kind of coding I call ‘vibe coding’, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It’s possible because the LLMs (e.g., Cursor Composer w Sonnet) are getting too good.”
- “When I get error messages, I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I’d have to really read through it for a while.”
- “Sometimes the LLMs can’t fix a bug so I just work around it or ask for random changes until it goes away.”
- “It’s not too bad for throwaway weekend projects, but still quite amusing. I’m building a project or webapp, but it’s not really coding – I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.”
I suppose this is proof that a single tweet or social media posting can sometimes shake up the globe and become a startling phenomenon.
Keeping Cool Headed
You hopefully observed that the tweet that launched the vibe coding catchphrase included rather qualifying or moderating remarks. There is an indication that vibe coding “mostly works” versus always works. Another crucial remark is that vibe coding is “not too bad for throwaway weekend projects.”
The point being that if you are trying to use generic generative AI to produce a production-ready bulletproof full-sized app, you are currently barking up the wrong tree. Vibe coding is not at that stage. Someday, yes, but not conventionally now (there are efforts underway to devise specialized LLMs that can achieve those ends, built for that vaunted purpose).
You are now in the know about vibe coding. If you want to be a vibe coder, check first to see if the generative AI you are using provides a vibe coding penchant. Most of the major generic LLMs do, and there are specialized LLMs that provide such a service as their core competency. Go ahead and then play around and kick the tires on doing some vibe coding.
At some point, you’ll want to study up on how to do vibe coding. There are insightful techniques involved. Doing well requires prompt engineering savviness. And, just like the old line about how to get to Carnegie Hall, the answer is that you’ll need to abide by three significant words, namely practice, practice, and practice.
Keep doing so until you get the right vibes on doing vibe coding as a vibe coder.