DXHEROES Logo
What We Do

/

Back to insights

#ai, #getting-started

What is Vibe coding?

Length: 

7 min

Published: 

May 14, 2025

What is vibe coding? Besides the new polarization of society? You must have registered the name somewhere on LinkedIn, YouTube or some forum. Plus it's already on Wikipedia, so we have to join in.

Vibe coding is a way of creating applications through AI where prompting is used instead of manually writing code. Vibe coding relies on tools such as GitHub Copilot, Cursor, Replit Agent or ChatGPT to interpret prompts and create code - from simple prototypes to web apps.

This can speed up development, but only under the supervision of an experienced programmer. However, it could free their hands for more important activities - such as testing or ensuring the security of the application.

How did it start?

The term "vibe coding" comes from Andrei Karpathy's tweet, a prominent AI researcher and former co-founder of OpenAI from February 2025.

The tweet begins like this: "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."

Translated, "There's a new kind of coding I call 'vibe coding' where you fully surrender to feelings (vibes), embrace exponentials, and forget that code even exists."

What can vibe coding be good for?

Speed and productivity

For senior developers, this can save time. Thanks to AI, they can now focus on solving more complex problems instead of boilerplate (repetitive code that is mostly the same across projects) code or syntax. AI takes care of routine tasks like form creation or minor refactoring, allowing developers to focus on things that require complex logic.

Prototyping

For non-technical or design positions, there is the opportunity to quickly prototype an application or parts of an application. Figma, for example, also offers prototyping, but an interactive site can be far more interesting and useful (for UX improvements, for example).

Explorations

The conversational nature of vibe coding encourages creativity and allows developers to explore ideas they might not have considered before. There are even voice-controlled tools such as SuperWhisper that enable a hands-free coding experience.

Where can there be a problem?

Code quality

AI-generated code may contain bugs, be inefficient, or may not be completely secure. LLMs may produce code that works superficially but hides problems that may not be immediately obvious. A well-known company Snyk, who deals with security, for example, writes that AI-generated code is often vulnerable to problems such as SQL injection (a vulnerability where a user can send SQL to a server and change/delete data there) and should always be checked.

Spaghetti code

Under the hands of inexperienced developers, so-called "spaghetti code", another term often used at the moment, can be created. Spaghetti code is simply poorly written or generated code that is inconsistent and then needs to be fixed by experienced programmers.

Unless the AI has a very specific prompt and modifications are made to a large portion of code and many files, the AI often fails to realize the connections and components or files may not work together. At the same time, AI tends to produce more complex code than is needed. If you want AI to do something, you should know how you want to achieve it and specify it in the prompt. For example, "Do X using Y functionality (i.e. maps in JavaScript)".

Dependence on AI

Developers, especially beginners, risk becoming too dependent on AI, which can slow down their learning. They risk their knowledge of basic programming skills, such as debugging, being inadequate and not being able to move to the next level. This can lead to problems, especially when AI tools aren't exactly available or contain and cause errors.

Code maintenance and scaling

Vibe coding projects often lack modularity, documentation, or adhere to best practices, making them difficult to scale and maintain. When a project needs to be fixed, developers may have difficulty understanding the code, which can lead to technical debt and high costs.

Legal risks

AI may inadvertently include copyrighted or licensed code. This can lead to legal ambiguity about ownership or compliance with open source licenses. In addition, applications may lack critical security measures, such as proper protection of user data or payment cards. The use of uncontrolled vibe coding should be avoided for projects where strict data security is needed (e.g. banking or health software).

Simplified approach for creating applications for non-coders

This is probably debatable, but we see it as a negative side of things. On the one hand, the idea that everyone can create apps and barriers are removed is nice, but on the other hand, even the apps we already have are in many cases not 100% secure.

Although the application can be 'unprompted', they require even more follow-up care. They need to be rigorously tested and this is again a technical skill. You need to check that the code makes sense and that the different parts of the application communicate correctly, and for this again you need good programming skills.

There are more and more cases when a non-technical person, when vibe coding an application, paid for the fact that he did not understand the code. Hobby hackers buried the app. This is through untreated rate limiting on the API (how many requests can be sent in a certain time frame), and other security holes.

Vibe coding tweet about a failed app

For example, Loveable, where you can try vibe coding, mentions that their new version is more secure, but they don't describe how. From their announcement we only learn that they have added Security Scan functionality.

The code that AI learns from is still made by humans, and unfortunately most developers and companies don't have security 100% figured out either.

How to avoid problems and exploit the potential of vibe coding

  • Step by step: Generate and implement code in small chunks. Mainly test the code to detect bugs early.
  • Check and understand: Even if developers don't write the code, they should review the AI output to ensure the functionality, correctness and safety of the code.
  • Properly prompt: Provide specific and concise guidance to reduce ambiguity and improve the quality of AI outputs.
  • Backup and versioning: Thoroughly version and backup code in case changes made by AI cause problems.
  • Limit the range: Use vibe coding only for smaller projects such as prototypes or personal tools, not for production software without a thorough review.

Conclusion

Vibe coding is an alternative way of developing software that uses AI to convert natural language into code. This can make programming faster, more accessible and more creative.

However, it has its own pitfalls - the generated code can be unreliable, harder to maintain and can carry legal risks. That's why human oversight is still important. When developers cleverly combine AI with classical skills and stick to best practices, they can make the most of vibe coding while avoiding most of the pitfalls.

It's not a replacement for traditional software engineering - but a great tool if used correctly.


Related articles:

Back to insights

Want to stay one step ahead?

Don't miss our best insights. No spam, just practical analyses, invitations to exclusive events, and podcast summaries delivered straight to your inbox.