The Control Paradox: Why Vibe Coding Feels So Different
Why I spent 50 credits fixing what took 10 to build
I’m writing this while debugging a mockup generator in another tab.
I started building it on Lovable with over 70 credits. Getting the entire thing working—upload, device frames, background options—took maybe 10 credits.
Then I wanted to add manual zoom and pan controls.
60 credits later, I’m still iterating.
Lovable says “Added manual zoom (0.5x-3x) and pan controls with drag support - auto-fill base remains default, controls allow override.”
I click Preview. The zoom buttons don’t work.
“The zoom controls aren’t responding.”
“Let me fix that.” Another credit.
Preview again. Now the zoom works but the pan is broken. Another credit. “Pan isn’t working now.”
“Fixed the pan functionality.” Another credit.
The zoom has stopped working again. The image positioning is off. Another credit.
On Lovable, at least I can see the cost. Each iteration is one credit. I know exactly how much I’m spending on this stubborn bug.
Last week was different. I was wrapping up the final 2% of HelloHours on Replit. Those “quick final touches” cost me over €50 across three to four days straight. The billing just kept coming. I didn’t realize how much I was spending until it was too late.
This is vibe coding. Sometimes you can see the cost. Sometimes you can’t. Either way, you keep going.
You fix the padding. The alignment shifts.
You fix the alignment. The color scheme changes.
You fix the color scheme. Now the hero section looks wrong.
You check time. An hour has passed. You were just going to “quickly adjust spacing.”
This keeps happening to me with vibe coding. After going to workshops in Amsterdam for the past few months, I’m starting to understand why—and what it means for people who’ve been doing this work for years.
What Changed
Traditional software development worked like this: spend the afternoon setting up your project, installing things, configuring dependencies, resolving conflicts. By the time you can actually start building, you’re already tired from decisions that have nothing to do with your idea.
And you have to know everything upfront. Plan the architecture. Map the data flow. Design all the pieces. You need the whole picture before you can make any of it.
But that’s not how people naturally make things.
I’ve been watching a lot of cake decorating videos lately (missed a cake swap last week, still thinking about it). The bakers don’t plan every swirl and flower before they start. They pipe some frosting, see how it looks, adjust the pressure, try a different angle. The frosting responds. They have this back-and-forth with the material.
Vibe coding feels more like that. You describe what you want, see it happen, adjust. You discover what you’re building through the process of building it.
Before: “Create a flexbox container with justify-content: space-between and align-items: center”
Now: “Spread the header elements across the top”
You stay focused on what you’re trying to achieve instead of translating intention into technical instructions. The AI tracks the complexity while you think about the experience you’re creating.
Why It’s Hard to Stop
My friend texted me one night: “I started at 9pm thinking I’d mess around for 30 minutes. I looked up and it was past midnight. I built an entire portfolio site. What happened?”
I think it’s because you keep getting these small wins:
Sometimes it perfectly understands → feels good
Sometimes it does something better than you imagined → feels really good
Sometimes it almost gets it → you feel close, want to try once more
Sometimes it misses → now you want to figure out how to explain it better
Your brain stays engaged because it can’t predict what will happen. And unlike scrolling or watching something, you’re actually creating. The engagement is attached to making progress on something real.
Here’s something else I’ve noticed: as someone with self-diagnosed ADHD, I find this process strangely efficient. While I wait for the AI to generate the code, I can do something else. Like write this Substack article. The wait time is just long enough to switch tasks but short enough that I don’t completely lose context. It’s perfect for how my brain actually works.
I’ve also noticed something weird: I start talking about the AI like it has intentions.
“Why did it move my button?”
“It forgot what I asked for.”
“Oh, it got what I meant this time.”
Logically, I know it’s pattern matching. But I can’t help feeling like it’s making choices.
This reminds me of what happened when I first started working as a product designer. I’d be arranging things at home and want to use auto-layout. I’d make a mistake and I would literally imagine Command+Z even though I was in real life. My brain had been rewired by the tools I was using.
The same thing is happening with vibe coding. I catch myself:
Explaining things more carefully to the AI, like it matters how I phrase it (maybe it does?)
Feeling satisfied when it seems to understand what I wanted
Getting frustrated when it seems to ignore what I just said
Being pleasantly surprised when it does something clever I didn’t expect
My brain is treating it like a collaborator even though I know it’s not. This makes the whole thing feel less like using a tool and more like working with someone—even though that someone isn’t actually there.
What I’m Hearing at Meetups
I’ve been going to vibe coding workshops in Amsterdam for the past few months. They always start with introductions. Last week, someone went first:
“I’ve been a software developer for 30 years. I work at an agency.” He paused. “Honestly, I’m here because I’m worried about falling behind. My boss sent me here to see what’s happening.”
A lot of people nodded.
The guy next to him: “I’m a product manager and I’m not sure what my job means anymore.”
Someone else: “I watched someone with no coding background ship something in a weekend that would’ve taken me weeks.”
This happens at every meetup. These aren’t beginners. These are people with good jobs, successful projects, teams they’ve led. And they’re showing up because something feels like it’s shifting.
The worry is specific: If someone who doesn’t know how to code can build things now, what happens to people whose value came from knowing how to code?
The Problem Nobody Talks About
Here’s something that frustrates me: when something won’t work, it takes forever to figure that out.
Normal coding tells you immediately:
Error: This function doesn’t exist
Type error: Wrong type of data hereBut vibe coding tools try to help. They attempt what you ask even when there are reasons it might not work.
You end up in this loop:
You ask for something with a hidden limitation
AI tries it (sort of works)
Something breaks weirdly
You rephrase
It tries again differently (still sort of works)
Something else breaks
After 10 tries: Oh. This just doesn’t work with this setup.
You could have known that at step 1. But you only figured it out at step 10.
This is literally happening to me right now with the mockup generator.
I wanted zoom and pan controls. The entire app took 10 Lovable credits to build. These controls have taken 50+ credits to get right.
Iteration 1: Adds zoom, doesn’t respond (1 credit)
Iteration 2: Fixes zoom, breaks pan (1 credit)
Iteration 3: Fixes pan, zoom stops working (1 credit)
Iteration 4: Both work but image positioning is wrong (1 credit)
Iteration 5: Fixes positioning, zoom range is off (1 credit)
Iteration 6: Adjusts range, drag functionality breaks (1 credit)
Each iteration costs one credit. I can see exactly what I’m spending. That’s actually the good scenario.
With HelloHours last week, I was on Replit finishing “the last 2%.” Three to four days later, I’d been billed over €50 and I’m not even sure for what. The final touches cost more than building the entire app.
The weird part? On Lovable, watching the credits drain should make me stop. On Replit, not knowing the cost should have made me more careful.
But with both, I kept going. Each time thinking “okay, ONE more iteration and I’ll get it working.”
Why?
I’ve been thinking about those people at the meetups. The 30-year developer whose boss sent him. The product manager who doesn’t know what his job means anymore.
I don’t think their expertise is worthless. It’s just being used differently now. The ability to recognize good architecture, spot problems before they happen, understand what will scale—that matters more than ever. It’s just that instead of typing it all out, they’re steering AI toward it.
Maybe the people who’ll struggle aren’t the ones with deep knowledge. It’s the ones who only learned to translate requirements into code without understanding why.
What We’re Actually Doing
It’s not quite engineering (though you get code).
It’s not quite design (though you make aesthetic decisions).
It’s not quite writing (though language is your tool).
It’s something else. Guiding. Directing. Shaping.
You’re:
Seeing what’s possible
Explaining what you want (more like this, less like that)
Recognizing quality (better, worse, different)
Steering iteration (closer, warmer, try something else)
Keeping things coherent
It reminds me more of directing a film than writing code. You set the vision but don’t operate the camera. You give direction but others interpret it. You review what gets made and decide if it works.
The output is code.
The skill is judgment.
Update: The mockup generator is finally working. Took 50+ credits total—10 to build the entire app, 60 just to fix those zoom and pan controls.
I have 14 credits left. We’ll see how far this goes, or if I’ll have to wait until next month when my credits renew.
That’s vibe coding. The cost is unpredictable. The path is messy. But somehow, you end up with something.
What’s your experience been? Are you excited about this or worried? What are you noticing?
Especially curious to hear from people who’ve been doing this for a while and are trying to figure out what it means for how they work.

