What Is Vibe Coding & Can Anyone Do It?

When the first computers needed coding in the 1940s, people manually programmed the unbelievably expensive tech by flipping switches. As time went on, the process evolved. Next, there was binary code and paper punch cards, then we had coding languages like Fortran and BASIC. More computer languages were developed, and later frameworks like WordPress became available, so people could manage websites without touching the underlying code.

Advertisement

Now we have vibe coding. The name originated from a post on X by Andrej Karpathy, a computer scientist and one of the co-founders of OpenAI. Karpathy wrote, "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." Vibe coding involves telling an AI what you want the code to achieve without needing to write (or even understand) coding yourself. As Karpathy put it, "I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works."

When you're coding by 'vibe', you're effectively taking the role of a client explaining your requirements to a software developer. In this case, the developer just happens to be a machine. Karpathy didn't actually invent the concept of getting AI to write your code for you –- people have been playing with this idea since large language models like ChatGPT shook up the world – but he certainly gave it a catchy name that other people quickly adopted.

Advertisement

You could create some code right now

If you want to understand what vibe coding is, the quickest way to learn is to do it for yourself. You don't need to know a coding language or understand how testing and debugging work. Those things might be handy if you want to develop your code further, but they aren't necessary. First, you create your app. Then, if you want to, you can learn why it works. The easiest option is to use a platform designed specifically for vibe coding. I used Bolt, but there are many others, including Cursor, Replit, and Windsurf.

Advertisement

I just had to input a simple instruction, such as "I would like to build a dice-rolling app," and it created code and tested it for me. When it encountered errors, I was asked if I wanted to investigate the problem manually. For a true vibe coding experience, I didn't even bother to look at them. I just asked Bolt to fix it. The app that Bolt produced worked fine. It wasn't a particularly original idea, but given the right instructions, Bolt can produce something more personalized and niche.

Bolt's free plan only gets you a set amount of daily tokens. Creating the app, fixing some problems, and making one small change used up all my tokens for the day. If you want to do something more ambitious, you'll need to subscribe to its paid plan. You don't need to use a vibe coding app. If you're already familiar with coding, you can use ChatGPT even without an account to produce code and compile it yourself. For complete beginners, though, apps like Bolt are a good place to dip your toe in the water.

Advertisement

What are the limitations of vibe coding?

When Karpathy wrote his initial tweet about vibe coding, he made a clear distinction between vibe coding as a fun activity and real coding to produce something professional. One user responded to Karpathy on X, saying, "These models act like contractors on the last day of their jobs. They don't think about maintainability or big picture.", adding that "we are way far away from automated competent SWEs [software engineers]."

Advertisement

Most developers writing about vibe coding agree that while vibe coding is a fun way to produce something for your own personal use, it shouldn't be used as a replacement for developers when companies are constructing code for other people to use. Developer Simon Willison provides a detailed explanation of when it's OK to vibe code on his blog. He writes that vibe coding projects "should be low stakes. Think about how much harm the code you are writing could cause if it has bugs or security vulnerabilities."

What vibe coding does well is provide an entry point for people to produce apps and games quickly and work out the details later. It could be a much more enjoyable way to learn coding than starting with printing "Hello World" and learning a whole load of syntax before you can do anything fun. You can, as Mark Zuckerberg once said (via CBS News), "move fast and break things." And then let the robot fix it for you.

Advertisement

Recommended

Advertisement