Vibe coding: a new AI-driven programming approach

Info: 2550 words (10 pages) Blog
Published: 12 Sep 2025

Reference this

What is a vibe coding

Struggling with your programming assignments? Get expert coding help now and boost your grades effortlessly. See our programming assignment help page for info.

Vibe coding is a recently emerged style of coding where a developer writes software by interacting with an AI agent through natural language prompts, rather than manually typing and refining the code.

The programmer describes what they want in plain English (or another human language). The AI then generates the working code on their behalf (Merriam-Webster, 2025).

This approach rose to prominence in early 2025 and has quickly gained attention in both industry and academia. It represents an extreme form of AI-assisted development.

This style emphasises rapid prototyping and “going with the flow” of AI suggestions. It often de-emphasises the traditional rigour of fully understanding and crafting code line-by-line. In essence, vibe coding enables quick results by relying on AI to handle the low-level details, though often at the cost of code clarity and developer understanding.

Origin of the term vibe coding

Andrej Karpathy, a leading AI researcher, coined the term vibe coding in February 2025 on the social platform X (formerly Twitter) (Times of India, 2025). In his X post announcing vibe coding, 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” (Karpathy, 2025). In other words, he advocated trusting the AI to handle the implementation details, while the human developer focuses on high-level ideas and iterative feedback.

The notion quickly spread through developer communities, and by March 2025 Merriam-Webster’s dictionary had listed “vibe coding” as a trending slang term (Merriam-Webster, 2025).

Karpathy’s own experiments helped popularise vibe coding. He demonstrated this by building small applications through simple conversations with AI tools. In these experiments, he accepted the AI’s code suggestions without manually editing them (Times of India, 2025).

For example, when prototyping an app, he would request new features (e.g. “add a sidebar”, “make this element interactive”). He then let the AI write and fix the code. This often happened without him even touching the keyboard (Times of India, 2025). This approach worked for him on simple, “throwaway” projects, although he acknowledged it might falter on more complex software (Times of India, 2025).

The core idea was that modern AI models (like ChatGPT or OpenAI Codex) had become powerful enough to handle many coding tasks given a clear description. In effect, natural language was becoming the new programming language. Indeed, this aligns with Karpathy’s earlier claim that “the hottest new programming language is English”. That quip highlights how describing a problem in plain English can now generate runnable code (Roose, 2025).

How vibe coding differs from AI-assisted coding

Vibe coding is fundamentally different from traditional AI-assisted coding techniques. In conventional AI-assisted development, the human developer remains actively involved in writing and reviewing the code. For instance, they might use code-autocomplete tools or AI pair programmers like GitHub Copilot, but they still inspect and edit the AI’s suggestions. In this mode, the coder maintains responsibility for the solution’s correctness and structure. In this paradigm, they use the AI purely as a smart assistant or “typing aid” (Edwards, 2025).

By contrast, vibe coding minimises the human’s direct engagement with the code. The vibe coder provides high-level instructions or goals. The AI then generates entire blocks of code or even complete programs in response.

Crucially, the developer does not meticulously inspect or refine the AI-generated code (Chowdhury & Mann, 2025). Instead, they take an almost hands-off approach. The vibe coder runs the code to see what happens, then gives further natural-language feedback to the AI to fix issues or add features.

As one expert wryly noted, if you’ve reviewed, tested, and understood everything the AI wrote, then that’s not vibe coding – that’s just using an AI assistant in the normal way (Willison, 2025, cited in Edwards, 2025).

True vibe coding implies willingly suspending detailed code scrutiny. The human trusts the “vibes” of the AI to eventually produce a working result. They intervene only by giving new prompts or copying error messages back to the AI for debugging.

In practice, this means iterative, prompt-driven development. A vibe coder might start by giving an initial prompt. For example: “Create a simple interactive webpage with a login form and a welcome message.” The AI will then produce an initial code draft. The coder runs it and observes the outcome.

If something fails or behaves unexpectedly, they describe the problem (e.g. “the submit button isn’t responding on mobile screens”) to the AI and let it adjust the code. This cycle repeats until the application meets the developer’s vision.

Throughout the process, the coder is steering via natural language and testing the software’s behaviour, rather than manually crafting code. This stands in contrast to typical coding (even with assistance) where a human is writing and reasoning through the code step by step.

Risks and challenges of vibe coding

Vibe coding offers convenience and speed, but it also comes with significant risks and challenges. Because it forgoes careful human oversight of the code, problems that a programmer would normally catch can slip through unnoticed. Key concerns include:

Code quality and correctness:

AI-generated code may contain bugs, inefficiencies or logical errors that the human might not spot if they aren’t reading through the code. Without meticulous review, a vibe-coded program might “mostly work” while hiding edge-case failures or subtle mistakes. These issues can undermine the reliability and accuracy of the software (Roose, 2025).

Security vulnerabilities:

Skipping code review can lead to serious security flaws. If an AI introduces insecure practices (such as inadequate input validation or use of deprecated functions), a vibe coder may not realise it. This raises the risk of exploitable vulnerabilities in the final application (Chowdhury & Mann, 2025). This is especially true if the code is deployed without thorough testing.

Lack of maintainability:

Vibe-coded solutions often lack clear structure and documentation. Future maintainers – or even the original author – may struggle to understand or modify an AI-written codebase. No human developer deliberately structured or commented it for readability, which makes it harder to work with.

Critics have noted a lack of accountability and maintainability as major issues with this approach (Chowdhury & Mann, 2025). In a professional environment, code quality and clarity are crucial for long-term projects. Vibe coding doesn’t inherently provide those qualities (Edwards, 2025).

Debugging difficulties:

Debugging becomes more complicated when you did not write (or fully comprehend) the code. If something breaks, a vibe coder might be heavily dependent on the AI to diagnose and fix the issue. Complex bugs or performance problems could require a deep understanding of the system’s logic. However, the developer may lack that insight if they never examined the AI-written code. This can lead to prolonged troubleshooting cycles and frustration.

Learning and skill erosion:

In an educational context, relying on vibe coding can undermine the learning process. Students might bypass the fundamental practice of writing and thinking through code. That means they miss out on building crucial debugging skills and programming intuition.

Over-reliance on AI generation may leave someone unable to code or solve problems without AI assistance. In effect, it stunts their development as a programmer (Mawhorter, 2025). For instructors, this is a serious concern. A student who submits a working program but cannot explain or adapt it has not truly achieved the learning objectives.

In addition, there are broader issues around academic integrity. Many universities have policies regarding AI-assisted work. If a student uses vibe coding to complete an assignment, it could be considered plagiarism or unethical unless explicitly allowed and properly acknowledged.

Even when permitted, submitting code that you don’t understand can backfire if you’re asked to explain your solution. Thus, while vibe coding might help to get a quick result, it carries the risk of academic consequences if misused.

When vibe coding is appropriate for coursework

Deciding when (and if) vibe coding is appropriate in coursework requires balancing innovation with educational principles. Vibe coding can be beneficial in courses or projects where programming is a means to an end, rather than the primary skill being assessed.

For instance, in a product design course or a hackathon-style project, the emphasis might be on creativity and end-product rather than coding details. In such cases, using AI to handle some coding can be acceptable.

Research suggests that if students aren’t bogged down in syntax, they can engage more with conceptual thinking and design. Moreover, vibe coding tools might enable non-traditional students or those from other disciplines to participate directly in software creation. This could democratise access to software development (Erez & Hazzan, 2025).

However, vibe coding is generally not appropriate for assignments intended to teach programming fundamentals or specific coding skills. In introductory programming classes and algorithm courses, the learning comes from the struggle of writing code, tracing it, and debugging errors.

If a student bypasses that process by having an AI generate the code, they may get the correct output. However, they fail to develop the understanding that the coursework was meant to impart. Educators warn that novices can easily become confused or misled by AI-generated code that uses techniques beyond their knowledge level. This often results in frustration and poor learning outcomes (Mawhorter, 2025).

For example, a first-year student might prompt an AI for a solution and receive code using advanced libraries or language features they haven’t learned. Without guidance, they could end up stuck or submit code they cannot explain. This defeats the educational purpose and could even lower their performance in the long run. After all, they haven’t built the necessary foundation in skills.

For these reasons, many instructors advise using AI coding tools sparingly and thoughtfully in coursework. Some instructors suggest that students should first learn to code without AI assistance. They advise only incorporating such tools in later years of study, if at all (Mawhorter, 2025). Even then, the use of AI should complement, not replace, the student’s own effort.

A good practice is to treat vibe coding as a partner for brainstorming or accelerating the trivial parts of a project. The student should remain the chief architect who reviews and integrates the code.

Checklist: how to sanity-check vibe-coded work before submission

If you choose to use vibe coding in an assignment, it’s essential to sanity-check the AI-generated code thoroughly before submitting it. You should critically review and test everything that the AI has produced. Below is a checklist to help ensure that your vibe-coded work is sound, compliant, and truly your own:

Verify the program against the requirements:

Run your code with various inputs (including edge cases) to confirm it fulfils all the assignment’s requirements. Does it produce the expected outputs for the sample test cases or scenarios given in your brief? Make sure no functionality is missing.

Understand the code:

Don’t submit anything you cannot explain. Read through the AI-generated code and ensure you know what each part does. If the code is complex, break it down by adding comments in plain English or writing a short explanation for each function. This not only helps you understand it better, but also provides evidence to your instructor that you engaged with the material. If some sections are confusing, consider asking the AI to clarify or simplify them. Alternatively, do some research on those parts until you grasp the logic.

Check for compliance with rules and style:

Ensure the code follows any constraints of the assignment. For example, if global variables are forbidden or a certain algorithm is required, verify those expectations are met. Also, make sure the code adheres to the course’s coding style guidelines (for instance, indentation and naming conventions). Format the code consistently because AI output can be stylistically inconsistent or obviously different from your usual code. A consistent style will make the work look more like your own and help you spot anomalies.

Test and debug thoroughly:

Don’t trust that just because the code runs once, it is fully correct. Test edge cases and try to “break” the program by giving it unusual inputs. Use debugging techniques to step through tricky parts of the code and check that variables have the expected values. If you encounter errors or unexpected behaviour, iterate. You can either fix the bug manually (preferred, as it proves your skill) or provide the error information to the AI to correct that part. Repeat this process until the program is robust and error-free for all intended scenarios.

Scan for any borrowed or irrelevant content:

Sometimes AI may insert snippets that come from existing code or data (which could be problematic if it’s copyrighted or beyond the course scope). Use a plagiarism checker for code if available, or manually inspect for any unusual sections that you suspect you didn’t come up with. Make sure the code doesn’t include unnecessary parts – for instance, an AI might include an extra feature that wasn’t asked for, which could raise flags. Remove any such extraneous code that isn’t needed to solve the problem.

Acknowledge AI assistance if required:

Follow your institution’s policy on AI use. If you’re expected to state that you used an AI tool, do so honestly. You might include a brief note with your submission like, “I used ChatGPT to generate parts of the code, then reviewed and modified those sections.” Being transparent can protect you if questions arise later about the work. Moreover, preparing such a statement forces you to reflect on how the AI contributed and ensure that the final code is indeed yours in understanding.

By following this checklist, you can approach vibe coding as a helpful aid rather than a blind shortcut. Remember the adage “trust, but verify”. Even if an AI system writes the code, you are responsible for its correctness and quality before you hand it in (SonarSource, 2024). If you diligently test and review the AI-generated output, you can ensure that your submitted coursework is reliable and meets academic standards. It also contributes to your learning experience rather than detracting from it.

Struggling with your programming assignments? Get expert coding help now and boost your grades effortlessly. See our programming assignment help page for info.

References and further reading:

  • Chowdhury, H. & Mann, J. (2025) Silicon Valley’s next act: bringing “vibe coding” to the world. Business Insider, 13 Feb 2025.
  • Edwards, B. (2025) Will the future of software development run on vibes? Ars Technica, 5 Mar 2025.
  • Erez, Y. & Hazzan, O. (2025) How Can Vibe Coding Transform Programming Education? Communications of the ACM, 23 Jun 2025.
  • Harkar, S. (2025) What is vibe coding? IBM Think Blog, 8 Apr 2025.
  • Karpathy, A. (2025) X (formerly Twitter) post, 2 Feb 2025. Available at: https://x.com/karpathy/status/1886192184808149383 (Accessed 18 Feb 2025).
  • Mawhorter, P. (2025) Why the Computer Science Curriculum Shouldn’t Include Vibe Coding. Wellesley CS Department blog, 29 Aug 2025. Available at: https://cs.wellesley.edu/~pmwh/advice/aiDontTeachVibes.html.
  • Merriam-Webster (2025) “vibe coding”. Merriam-Webster.com (Slang & Trending), 8 Mar 2025.
  • Roose, K. (2025) Not a Coder? With A.I., Just Having an Idea Can Be Enough. The New York Times, 27 Feb 2025.
  • SonarSource (2024) AI-Generated Code Demands “Trust, But Verify” Approach to Software Development. SonarSource Blog, 11 Apr 2024.
  • Times of India (2025) What is “vibe coding”? Former Tesla AI director Andrej Karpathy defines a new era in AI-driven development. The Times of India (Tech News), 2 Mar 2025.
Jennifer Wiss-Carline

Jennifer Wiss-Carline , LL.B, MA, PGCert Bus Admin, Solicitor, FCILEx

Jennifer Wiss-Carline is a British practising solicitor regulated by the Solicitors Regulation Authority (SRA) and a Chartered Legal Executive (FCILEx) with expertise in private client law. An accomplished academic and legal author, Jennifer contributes regularly to professional publications, has authored over 200 legal guides, and lectures LL.B students. She holds advanced qualifications in law and business administration and has a specialist interest in algorithms for plagiarism detection and AI-generated content recognition.

Areas of Expertise

law php javascript education business management

Cite This Work

To export a reference to this article please select a referencing stye below:

Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.

Related Services

View all

Related Services

Our academic writing and marking services can help you!

Prices from

£99

Approximate costs for:

  • Undergraduate 2:2
  • 1000 words
  • 7 day delivery

Order an Essay

Related Lectures

Study for free with our range of university lecture notes!

Academic Knowledge Logo

Freelance Writing Jobs

Looking for a flexible role?
Do you have a 2:1 degree or higher?

Apply Today!