The Hidden Risks of Vibe Coding

I’m seeing more people within different industries experiment with coding. People who would never have described themselves as technical are now building tools and tweaking platforms with surprising confidence. Much of this is down to the phenomenon of vibe coding. But is that actually a good thing?

Let’s start with some context. I have an IT background and I have programming experience. But I don’t know everything there is to know about programming. Over the years I’ve experimented a lot. Some languages I am more familiar with than others and over the years I’ve experimented with different languages: HTML, CSS, JavaScript, PHP, ASP.NET, C++, Python, and although not a programming language, a bit of SQL. Now some of these languages I am much more familiar and comfortable working with than others. For example, I use HTML pretty much on a daily basis. On the flip side, I touched C++ about 20 years ago to create a game and never went back. If you asked me to write you something in C++ or .NET I would struggle. However, if you gave me a bit of code to read, I could muddle my way through and identify some key parts.

Programming languages are very similar in structure. Once you understand core concepts like variables, loops, conditionals, functions, you start to see patterns everywhere. The syntax changes, but the principles don’t. However it takes time to learn a programming language and the only way to really learn is to write and try things out. Because programming isn’t my job, I don’t really need to KNOW a language inside and out. Prior to AI if there was something I wanted to create or do, I would create a skeleton code and then find some code on the internet to test out. I suppose this was the old fashioned way of vibe coding.

What has changed?

AI has revolutionised the programming world, especially for individuals like me. I very rarely need to write anything from scratch these days and I can create code snippets with a short prompt. I’m seeing instructional designers writing scripts to automate reporting, learning technologists experimenting and creating themes for their LMS/VLE, and many eLearning developers adding in custom code to their SCORM packages to add additional functionality to their authoring tools.

AI has lowered the barrier to entry. It has made coding feel conversational rather than intimidating. It has given people permission to try.

In an industry where we are constantly asked to wear more hats, that feels empowering. BUT, there is a difference between being supported by AI and becoming dependent on it. And this is the really critical part.

The Dangers of Vibe Coding

For an eLearning developer, the danger with vibe coding is not the experimentation, it’s the implementation. Adding things into your platform without fully understanding what you are adding. A bit of JavaScript here, a plugin there, an authentication tweak, a server side script copied in because it “fixed the issue.” On the surface, it works. Underneath, you may have introduced security vulnerabilities, compatibility problems with your LMS, or dependencies that will break with the next update. As a freelancer, this can also be really frustrating. I’ve come across projects where clients complain that they tried to do a simple course update and the course now no longer works. On closer inspection, it’s littered with custom code, with no comments or notes included. This is literally like rummaging through a dustbin.

It can go further than just snippets of code. Some AI powered development tools can run commands, install packages, modify configuration files, and in some cases request administrative privileges to parts of your machine you may not even know exist.

If you do not understand what is being changed, you are effectively handing over control!

For someone without a basic understanding in how systems, permissions, and environments work, that is not empowering, it is risky. It’s like giving someone a set of power tools and saying, “Yes, go and get that job done,” without first explaining how they work, what could go wrong, or where not to point them.

Now I don’t want kill the vibe (bad joke?) but I don’t think enough is being highlighted about the risks. Instead I want to offer some advice and guidance.

Top Tips for Safe Vibe Coding

1. Never paste blind
Before you add anything to your project, ask the AI to explain what the code is doing, line by line. If you cannot follow the explanation, do not use it yet. Curiosity first. Deployment second.

2. Understand the category of risk
Is this just styling? Or is it authentication, payments, learner data, or file uploads? The higher the impact, the higher the scrutiny. A CSS tweak is not the same as rewriting login logic!!

3. Keep experiments away from production
Use a local environment or staging site. Do not test AI generated fixes directly on a live platform just because you are under pressure.

4. Ask what could go wrong
Literally ask: “What are the edge cases?” and “How could this fail?” Good code is not just about what works. It is about what breaks.

5. Be cautious with system level access
Some AI development tools can run terminal commands, install packages, modify configuration files, and request administrative privileges. If you do not understand what is being installed or changed on your machine, stop. That is not the moment to follow the vibe!

6. Watch for silent dependencies
If code requires additional libraries or packages, know what they are, why they are needed, and how they are maintained. Hidden dependencies are future problems waiting to happen.

7. Check compatibility with your platform
Just because something works in isolation does not mean it will behave properly inside something like Moodle, WordPress or a SCORM package. Always test in context.

8. Learn the fundamentals alongside the shortcuts
Make time to understand core concepts: client side versus server side, basic security principles, how HTTP requests work, how databases store data. AI should accelerate learning, not replace it.

9. Keep version control and backups
Before major changes, create a backup. Use version control if you can. Being able to roll back is not a luxury. It is a safety net.

10. Comment your code and be transparent
If you are adding AI generated or custom code, document what it does and why it is there. Keep notes on changes, dependencies, and any risks. If you are working for a client or employer, be clear that this is custom functionality and explain the support and update implications.

So, is vibe coding a good thing?

Yes and no. It has opened doors. It has made coding more accessible. It has allowed people in different industries stretch into technical areas they might never have explored before. That is genuinely positive. But accessibility is not the same as understanding. Excuse the pun, but if you are going to wear more hats, you need to grow into them properly. Not just click your way through them with confidence and a prompt window open.

AI is not the problem. Intellectual passivity is. I would say use AI to learn faster, use it to challenge your thinking, use it to explore and create safely. But do not let it quietly replace the part of you that needs to understand what you are building. Because at some point, something will break. A platform will update. A client will call. A course will stop loading.

In that moment, the vibe will not fix it. Your understanding will!