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)
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.
Great point! Thanks for the feedback!
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.
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:
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.ā š¶š»
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.
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.
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.
@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!
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:
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:
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.