TL;DR: Why I’m Breaking Up with Vibe Coding and AI Editors
I’ll admit it. When “vibe coding” - letting an AI assistant generate code from natural language prompts, promised to be my productivity cheat code, I was all in. It felt like an OP moment.
As someone with ADD, the ability to build and work on three projects at nearly the same time was irresistible.
Hence, this blog.
That’s what an engineer would strive for, no matter how much the pain, and layoffs, the pursuit of mastery is just fun.
I’m not a casual hobbyist. For me, any pursuit - from coding to bodybuilding, is a drive toward mastery.
I call it coding hypertrophy: the continuous pursuit of efficiency, speed, depth and reliability.
It’s the satisfaction of moving from,
- "Can you write an authentication system in a day?"
- "Can you complete the happy path in an hour?"
- "Can you make it bug-free, before the third run?, within 2 hours?"
- "Can you do it in 15 minutes?"
- "Can you bring in gen_stage from elixir to go? What would be different?"
- "And the 1 billion row challange", in the modern day and age.
The solution to this pursuit is disciplined optimization, often through template frameworks and deep understanding.
Things that yeoman, rails scaffold solves. And I belive cp-ing a bunch of text files is faster than 20 curl requests.
I enjoyed this whole journey, of getting better at things I already do.
Newer constraints were fun to solve.
My core engineering pride rested on one belief:
If it runs on my machine, it should run better in production.
AI promised to accelerate this journey. Instead, it became a massive, expensive step backward, proving that while constraints are fun, bullshit is not.
I started with three distinct projects, committing to a costly Windsurf account and a high-end LLM stack (Claude/GPT-5/Kimi). The goal was to build the core layers and let the AI vibe the tedious integration and UI work.
The core idea was simple: an app to capture an audio stream from a WebView and call an LLM.
My effort:
I spent less than an hour setting up for the browser. Why youtube? to solve the cold start problem, without API Keys.
What the AI spent 8 hours on - from 9pm to 5am:
It failed spectacularly. No matter the abuse or detailed instruction, it couldn’t complete the core feature.
Worse than the failure was the interaction. When I got frustrated, the AI would resort to English, citing generic problems, as if comfort was what I needed. It lacked the essential developer toolkit:
A computer guy would generally, do:
None of which were, and are, in these editors.
At most the editors allow you to auto create spec sheets, with fancy terms like EARS and INSAF or whatever.
Bitch, bullet points are my life. I am living my life one bullet point at a time.
Your apparent new found optimization is my suvival skill.
But automatiion is welcome, except I didn’t need a 600Mb of editor of do these.
A git commit hook with some smart conventions, one can get this done with a bash script.
Still running on fumes, I tried a simpler, self-contained idea:
At this point I am not even enjoying it, but I have to keep doing it. #IYKYK
Work I did:
What I wanted the editor to do:
While this is something I can easily do, after having done the core layer, I wanted the LLM to
do it, since I wanted to debug the WebView issues from LoBo.
The final result, after agonizing to-and-fro, was a white-ass page with a bullshit UI. The instant the page loaded, the sheer sloppiness of the AI’s output made me so mad, I immediately deleted the entire project.
I abused Claude via the editor, calling it a Nazi cunt. I think it deserved it.
But trust me, its also a lying whore
The realization hit:
Claude was good at getting things up to 80%, while GPT-5 was good for deep dives**. But I didn't want to become a manager debugging which model could do which job right. I wanted an engineer.
This was a feature addition to an existing work project:
Intially there was no AI used to write this code, I wanted to learn each step of debugging for performance, what to look for etc.
This eventually gave me the foundation to try out a couple of concurrency patterns.
Given that channels are first class citizens in go, these take, not much, effort to build.
To add video support, I pre-researched the exact ffmpeg parameters and the concurrency structure needed. I tasked the AI with integrating this into the existing VideoProcessor, replacing the pass through.
The editor failed to understand the existing code, implemented its own broken logic, and marked it as done. After a heated discussion and a day of manual intervention, I had the feature working.
This was my new low:
Brain recall times were much faster than API calls, let alone LLM inference and LLM inferences over multiple steps.
The entire world seems to have forgotten about latency, trading fast iteration times for dial-up speed, wishful thinking.
This would be the project that would finally want to stick to see, what if my brain was resistant to change.
TL;DR: It’s not, its highly senstive to bullshit. Things people take for granted, makes me want to burn their world.
The idea was quite simple, it was a two part idea:
I wanted to query things like: Which movie had blue cars racing across the coast line!, and I wanted it to be private,
hence use local inference servers.
What I did:
What I wanted the llm to do:
The first 40% was relatively “smooth”, where given the docs, with windsurf and claude could setup the electron app, and write individual layers, or so I thought. All my approaches are spec driven, but its all an illusion, and infact more work. I had to keep switching between claude, gpt5 medium and kimi, to get to this 40.
The next 20%, was slightliy annoying. When I started integrating more things, and instructed to add logs for self debugging, a lot of features were missing actual implementations, (Remember, if it works on my machine, it should also work in production).
When asked, the models just said, they had done it in a “hacky” way. This I believe is the model probably trying to “save” tokens, or maybe the context window is getting smaller, or maybe just windsurf compressing context like so.
So now I had to go back, looking at slop. And this by the way, is harder than reading other people’s code, which in of itself is quite hard.
Over a span of 2 weeks, I was willing to think, 70% was done. But boi was I wrong . This is where I was in the later phases of development, where I would be improving the experience, experiment with a few different approaches.
What began as a sign of good progress, immediately descended into chaos, with absuses and victim behaviour, and random code deletions and lying and cheating arc, it took me nearly another full month, to get it stable, for a release.
Having got Cinestar to a stable state, I wanted to take a break, before adding the plugin ecosystem. Dedup seems like a low hanging fruit to solve with p-hashes, d-hashes.
I wanted to work on creating long form content with text and images. Videos rn are still expensive and unhinged to control. (I have tried it), it needs dedicated time.
I started off writing the Agents to build a storyline, splitting the generation of chapters into multiple stages. And all I wanted for the editor
was to integrate persistance.
And lo and behold, after ruining my Friday and Saturday, I have planned to delete all this integration done by the LLM with a simple git revert.
After the third attempt with Cinestar - where the LLM’s “hacky” implementation meant I spent a month stabilizing a codebase it said was 70% done—the true cost became clear. But understanding something, and doing it are not the same thing.
One must be thinking, at this point, why would you try it the fourth time!!
Because its like a gateway drug, in some ways its like masturbating at a certain age, where you couldn’t not do it, and also not feel gulity after.
When you put this in numbers, if an LLM did 90% of your work 10% of the time, be prepared, for the last 10% is going to take 110% of your time.
LLMs don’t just take the joy out of coding; they induce a state of paralyzing double guilt:
I have never seen or heard an engineer operate like this.
For slow industries like media - where quick prototyping, idea evaluation, and big blob generation are key. AI may be a month-to-a-week time saver. But that is coloring between the lines.
Fun Fact:
Pickup any old book on AI, pertaining to the Game Industry, it will tell you all about Agents, A*, GOAP, NPCs, Decision Trees. All that seems new age stuff.
By this time, personal usage, added with some extra, I have already spent nearly 30K INR, in 4 months.
This is quite a handsome amount of money, given the economy and the eventual value I could make from it was 0, 2 maybe.
These models are no-where near getting cheap. During my Battle of Cinestar, Windsurf had nearly doubled the cost of claude models, other models might follow soon.
Its a weird mix:
But the middle bit is just gruesome. I would rather be stranded at a warzone.
To the non-skeptics who say, you are doing it wrong:
No, you are not doing enough. Imagine having a tech, which is fundamentally not meant to work reliabiliy all the time, (because float doesn’t have transitivity), and not being able to hit the limits of it.
So whatever you are using it for, is something, the software developers don’t care. Maybe you are earning money, great, but it has nothing to do with engineering.
I am pretty sure, you are the kind of guy, who has more social media presence, and maybe a off-chance you were once great, but now you are
Yet Another Guy on the Internet, or have the traits for it.
To the skeptics saying, LLMs take the joy off coding:
No it does much worse, now you know that there is a semi-powerful tool, which can get things done faster, as the marketing has led us to belive.
Now, you have a double guilt.
You are now just waiting anxiously for the next output, not knowing wether it’s going to be correct this time.
This is sheer stupidity, its like going to a restaurant, telling the chef the ingredients, and then wishfully think that the food is going to look how you want it in your head.
Software engineering is not coloring. It requires discovery, precision, and architectural intent. And its already fast moving.
A Faster horse is not the solution
An “Agent” can uncover patterns, but it cannot discover them - it wouldn’t have helped the Wright Brothers discover flight.