DEV Community

Cover image for šŸ’»Vibe Coding Helped Me Move Fast, but...
Mak Sò
Mak Sò

Posted on • Edited on

šŸ’»Vibe Coding Helped Me Move Fast, but...

Let’s be real. I’ve been building software for 15 years. In that time, I’ve broken more things than I’ve fixed on the first try. I’ve lost hours (days?) chasing ghost bugs. I’ve rage-quit undocumented APIs. I’ve lived entire lifetimes inside the infinite scroll of Stack Overflow.

And somewhere along the way, I picked up a bad habit: vibe coding.

You know what I mean. That feeling when your hands just go, no plan, no spec, no architecture doc. You’re in the flow, slinging code, solving things on instinct. It’s exhilarating. You feel like the terminal is an extension of your nervous system.

But here’s the truth no one wants to admit:

Vibe coding is great for speed, terrible for wisdom.

I’ve shipped full features that I couldn’t explain a week later. AI makes it worse, or better, depending on how you use it.


The AI Trap: Fast Code, Zero Knowledge 🧠

Now that tools like Cursor and Gemini can basically write half your project if you ask nicely, it’s dangerously easy to build without really learning anything.

And for me, that’s a line I won’t cross anymore.

I’ve been burned too many times by ā€œworking codeā€ I didn’t fully understand. When things break, and they always break, you need context. You need to know what changed, why it changed, and how it fits into the system.

That’s why I started treating AI like a junior dev who needs to leave a changelog.

If AI touches my code, I want a report:

āœ… What was changed

šŸ“¦ What was the scope

šŸ¤” Why it was done

Even if I didn’t write the code myself, I now have traceable knowledge I can reuse, for debugging, for onboarding new AI sessions, even for future me trying to remember what the hell happened.


My Stack: How I Use AI Without Losing My Mind šŸ› ļø

Here’s a quick look at the tools I’m using right now, and how I use them with intention.

🧩 Cursor: Great for Local Changes, Not Big Picture

Cursor is like a supercharged code editor with AI copiloting built in. It’s awesome for:

  • Refactoring existing code
  • Fixing small bugs
  • Adding types or docs
  • Injecting quick tests

But... when I try to start a whole new project from zero? It kinda collapses. The IDE feels tightly locked to its own infrastructure. You can’t really define how you want the AI to behave across your repo. You get what Cursor gives you.

Still, if I need to refactor a few messy Python files at 1am? Cursor delivers.

šŸ”§ Gemini CLI: The Ritual Tool

Gemini CLI surprised me. It’s minimal. Terminal-based. But it gives you something most tools don’t:

Behavioral persistence.

You define a gemini.md file with:

  • Coding style preferences
  • Language conventions
  • Framework rules
  • ā€œNever use Xā€ declarations

That file becomes your project’s AI personality. And it sticks.

It’s like writing your own linting rules, but for the brain of your AI assistant.

I’ve used this to define entire architectural styles, even tone of voice for generated documentation. It’s not flashy, but it’s effective.

🧬 OrKa: The Thing I’m Building

This one’s personal. I’ve been building something called OrKa, short for Orchestrator Kit for Agents.

It’s not an editor. It’s not a CLI. It’s a brain.

A graph-based execution engine for chaining AI agents together, deterministically, traceably, and with full memory.

You don’t vibe code in OrKa. You declare cognition.

You define what each agent does, how it routes decisions, and what memory it sees. Every step is logged. Every choice is replayable.

In a world where AI is getting weirder and less explainable, OrKa is my answer to staying grounded.


What I’ve Learned (The Hard Way)

  • AI will happily give you bad code with a smile.
  • Moving fast is fine. Forgetting why you moved is fatal.
  • Good tooling is not enough, you need practices.
  • Treat your AI tools like collaborators, not magic wands.
  • And seriously: track what changed.

Your Turn

I’m still refining all this. Still breaking things. Still relearning how to work with machines that can ā€œthink.ā€

But if you’re coding with AI today, or planning to, ask yourself:

Do you actually know what’s happening in your codebase? Or are you just vibing?

Either way, I’d love to hear how you’re navigating this. What tools are working for you? What habits help you stay sane?

Let’s stop pretending we all have it figured out. And maybe help each other write code we still understand next week.

Top comments (9)

Collapse
 
ketutdana profile image
Ketut Dana

Hello, it's a great story, thank you for sharing!

I've been using AI (ChatGPT) since the end of 2022 until today. For what? For brainstorming.

Why?

Because I know that if I just tell the AI to write a line of code, yeah it’s easy. In less than 30 seconds, the code is done and ready to use. Sure, we still need to double-check it, but it's still code you can just copy, right?

Honestly, I don't like that. I know AI can help me fix everything. But, as you mentioned earlier, AI makes my brain stop braining. šŸ˜„

So, every day I still use AI — not to copy code, but to find references, spark ideas, and help me create things I couldn't imagine before.

Collapse
 
marcosomma profile image
Mak Sò

Great point! Thanks for the feedback!

Collapse
 
ynotdev profile image
ynot

Hi @marcosomma . Thank you for sharing. These days, we are hearing it a lot ā€œWe’re vibe coding.ā€ But what does it mean?
Behind the memes and buzzwords, vibe coding is more than just casual experimentation or late-night commits. It's a signal of creativity flowing before structure steps in. It's where raw ideas get their first breath, outside of sprints and specs.
But here’s the truth:
Vibe coding without vision = noise.
Vibe coding with purpose = innovation.
At its best, it’s how prototypes get born, how future products emerge not in boardrooms, but in quiet corners of codebases, where freedom meets intent.

Let’s not lose that energy. Let’s channel it. Because when vibes align with value, that’s where the magic happens.

Collapse
 
marcosomma profile image
Mak Sò • Edited

Absolutely nailed it. I couldn't agree more.

Vibe coding isn't the enemy. It's that primal creative burst, the instinctive, often subconscious way devs explore ideas when no one’s watching. I’ve built entire prototypes at 2am that eventually turned into real products… all because I followed the vibe.

But you hit the key point:

ā€œVibe coding without vision = noise. Vibe coding with purpose = innovation.ā€

That’s the edge.

I’d just add this from experience: once the vibes produce something interesting, slow down and extract the learnings. Trace what happened. Leave yourself clues. Wrap the chaos with just enough structure so it can survive daylight and other devs.

Because vibes build the future. But only discipline makes it repeatable.

Thanks for putting it so clearly. Let’s keep coding like jazz musicians, just don’t forget to hit ā€œrecord.ā€ šŸŽ¶šŸ’»

Collapse
 
jbanety profile image
Jean-Baptiste Alleaume

It's true that the temptation is great to chain together prompts to move quickly, and the initial results are often "visibly" good, and we move forward, and forward.

Let's say that the LLM is capable of achieving a 95% success rate with each iteration; the further we progress, the more errors accumulate.

Controlling each iteration and tracking changes are two extremely important things.

Collapse
 
marcosomma profile image
Mak Sò

Exactly!
My fear is also about younger devs. By using LLM vibe coding, they are actually also loosing a lot of needed knowledge to develop they own programming skills.
Programming is not just about writing down code. Is mostly about to know HOW to implement things. And this is all the part that llm's hide. It just deliver code.

Collapse
 
kurealnum profile image
Oscar

That’s why I started treating AI like a junior dev who needs to leave a changelog.

Honestly, I still wouldn't trust AI in this situation. What if a hallucinates? What if it tells you what it thinks you want to hear?

Just a thought though. I only use AI for really, really monotonous tasks.

Collapse
 
marcosomma profile image
Mak Sò • Edited

@kurealnum Thanks for the comment and YES I understand and respect your point of view.
I'm a bit less drastic about it. I mean I saw more Developer hallucinating than AI hallucinating while writing code... So I know AI can hallucinate, this is why I review and I let AI semantically explain and store his changes across sessions. Somewhat it give to the AI his own style of writing code as well of consistency and awareness of past changes.
And as last let's also be honest after 15 years some coding task become quite boring and monotonous... šŸ˜… why do not give AI a chance on those ones. It may surprise you!

Collapse
 
frickingruvin profile image
Doug Wilson

I've absolutely LOATHED the term "vibe coding" since the day I first saw it, which was about AI-powered coding, but your definition description makes perfect sense and doesn't give me that visceral "Ugh!" reaction:

"That feeling when your hands just go, no plan, no spec, no architecture doc. You’re in the flow, slinging code, solving things on instinct. It’s exhilarating. You feel like the terminal is an extension of your nervous system."

And "Vibe coding is great for speed, terrible for wisdom." needs to be engraved on a marble arch somewhere. Well said.

Great list of tools, and I especially the summary of each tool's strengths/capabilities and specifically how/why you are using it. Here's my attempt to follow in your style:

Claude Copilot: Almost Spooky Inline Code Completion/Suggestion and Chat

Integrated into my JetBrains IntelliJ IDEA development environment, Copilot seems to understand what I'm trying to do (or will want to do next) and helpfully suggests something, ranging from reasonable to inspired, in light-grey text. If I like it, I hit the key, and it's inserted. If I keep typing, it disappears. Copilot great for:

  • Automating or augmenting repetitive, time-consuming code creation, while avoiding copy/paste errors
  • Eliminating the need to look up obscure syntax (it just appears)
  • Helping with consistency by referencing naming and structure in other parts of your code

I can also open a chat window and ask it "How would you ... ?" questions. It generates multi-file solutions along with clear, helpful explanations. It quickly and accurately revises or defends its results when challenged, again clearly explaining the changes it makes. My visits to Stack Overflow are now few and far between (along with my frustration for dated and now-irrelevant yet still snarky "answers").

But ... sometimes the inline suggestions can feel a little insistent and overeager to help. Sometimes I really want (and need) to pause and look at what I (we) have done and consider what should come next, when all it wants to do is to suggest a new line or entire code block. It's like taking a really eager dog for a walk. Eeeasy, tiger.

Still, Copilot has saved me so much time and taken on so much drudge work, I'm very grateful for all the help it's provided. This is what a true man/machine augmentation (partnership) should feel like.

Claude Sonnet 4: Pro-Level Structure and Naming

I write well and enjoy doing it. I have zero interest in AI writing for me. But naming books, articles, etc and coming up with a structure -- a skeleton can be tough. Claude is great for:

  • Suggesting names for books, articles, etc
  • Generating structures that don't omit key ideas

But ... prompting Claude can be tricky. For example:

"_Please generate the best, most informative book, including chapter outline, about how to ... _" produced a perfectly acceptable outline that external tools rated as 84% human-generated.

Trying to improve on that a bit, I asked "I want you to act as a world-class author with decades of writing experience. I will ask you for output, and you must give me unique, expertly-written work. Please note that you should write like a human expert would write. Your output should not be detectable as AI-generated content.", followed by the original prompt. This produced the laughable and unusable "steeples fingers, eyes becoming unfocused as decades of experience coalesce The Chronicler's Quill: A Masterwork on ... "

A final "It is still detectable as having been written by AI." (c'mon, get serious) prompt produced very satisfactory output, rated as 97% human-generated. Third time's the charm, apparently.

Still, Claude is great at breaking down the roadblocks to my creativity and shouldering the loads that I hate having to carry. Huge win.