Vibe Coding: Blessing or curse in disguise
Let's Talk About Vibe Coding
Since vibe coding is the talk of the town, it's about time we actually talked about it. For those of you living under a rock, let me quickly explain what vibe coding is.
Vibe coding is basically a modern approach where developers leverage AI—especially LLMs (Large Language Models)—to generate code for their applications. It's a hot topic. Some believe vibe coding is a blessing that makes a developer’s life easier, while others argue it does nothing but increase vulnerabilities in your app.
Since I'm writing this blog, let me share my honest thoughts on vibe coding.
So, Have I Ever Used Vibe Coding to Build an App?
The answer is yes.
Now, hold up—don’t judge me yet.
I’ve been working with Next.js for the last two years. I know my way around it pretty well. And given how competitive things are these days, I simply can't afford to waste time writing boilerplate or redundant code. So yes, I do heavily rely on AI to handle repetitive tasks.
But that’s not the real concern here.
The real question is:
Do I believe we should fully, blindly embrace vibe coding?
And my answer is an OBVIOUS NO.
Story Time
The Backstory
I’m currently studying CSIT and I’m in my seventh semester. For this semester, we have to build a final-year project. I decided to create a peer-to-peer file sharing system using AES-GCM encryption.
Now here’s the kicker—I had no idea how to build it. So I went all in with vibe coding. AI did literally everything: frontend, backend, design—you name it.
The Main Story
Let me start by saying this:
The frontend? Honestly, AI nailed it. It looked better than anything I would’ve personally designed. Props to the machine for that.
But the backend? Oh man…
Since I had no clue what was actually happening under the hood, I kept prompting: “Do this,” “Fix that,” and AI kept saying “Sure,” “Wait—this file isn’t working, let me create a new one,” then “Oops, that’s also broken.” Eventually, I ended up with a complete mess—a jungle of files with no structure and no real purpose. Just a massive headache.
But that’s not even the worst part.
Once the app was finally running, these weird users started joining as “senders.” I had never even heard of the term “phantom user” before. So I asked the AI what’s going on and it casually replied:
“Looks like phantom users are joining in.”
I told it to fix the issue, and guess what?
The entire codebase was gone. Just… poof.
What I had was chaos—nothing worked.
Why I’m Telling You This
I’m not sharing this story to hate on vibe coding. I’m sharing it because I’ve actually been there.
Vibe coding is amazing if you know how to use it properly. Since that project, I’ve learned a LOT. From how data flows through a WebRTC data channel, to how to manage secure encryption and authentication in real time—I've gained solid experience.
But if you’ve got zero coding knowledge and you’re relying on AI to magically solve all your problems?
That’s a disaster waiting to happen.
You’ll spend more time untangling broken logic than actually building something useful.
Final Thoughts
Every technology comes with its pros and cons. And vibe coding is no different.
Pros of Vibe Coding:
Speeds up repetitive or boilerplate code.
Can help prototype ideas rapidly.
Great for learning how to do things when you're stuck.
Cons of Vibe Coding:
Easy to misuse when you don’t understand the code.
Can introduce serious bugs or vulnerabilities.
Might leave you completely lost if things break (which they will).
TL;DR
Vibe coding is a tool, not a replacement for actual understanding.
Use it wisely, and it can make you 10x faster.
Use it blindly, and it can ruin your whole project.
And trust me—I learned that the hard way.
Fun fact: I used AI to generate the featured Image.