I Tried Vibe-Coding in Production - It Went Exactly How You Think


The Applicable Bytes

Career & Growth, Technical leadership & AI for developers

It started on an existing NodeJS project, with little to no existing documentation. Obviously delivery deadline was very close (4 weeks), so we decided to use AI to help us.

I actually never worked on NodeJS before, so Windsurf was very useful at explaining how things work, and why are they structured as they are. This was actually the best part of this exercise, as I could ask deep questions about concrete parts of the application

I felt safe with AI.

Day 1: Windsurf helped me push a first commit within four hours. I felt like I had superpowers: 10x productivity.

Day 2 was more about 8x productivity, as I had to fix some edge cases that Windsurf was struggling with.

But day 3 is when the I got carried away. I started skimming tickets, asked the AI to retrieve a list from database, but it chose the wrong one. Even the 45‑second wait for the AI to “spin up” was enough for me to grab my phone, and completely forget what I was actually working on, and I noticed I would drift away. Tech lead asked asking why a page filter had disappeared, and I really wish I had read what Windsurf was asking. After the meeting, I realized that Windsurf had actually asked for confirmation and I’d missed it. Then I spent the whole day fixing it. Productivity was about -3x.

Day 4 was even worse: a "minor" Git conflict made the day brutal, because I didn't actually know what the AI had changed. I ended up deleting the whole branch and asking Windsurf to rebuild the feature from scratch. Productivity was about -5x.

Day 5 I stopped vibe-coding, and started coding with AI as an assistant in the process. Productivity was about 2x from this day on

So what I learned? you can get 2–3x productivity in production with AI - but only if you stop vibe‑coding and start coding with AI. That means tiny, scoped tasks; frequent, small commits; thorough testing; and treating the AI like a junior developer whose work you must review. Not just glance over, but actually read and understand and "put your name behind"

Stop vibe‑coding, and collaborate with AI like a junior developer.

If you don’t, your week will swing from 10x highs to negative output, you’ll break user‑facing features, sink days into Git archaeology, and erode your team’s trust.

The hard truth is that AI is powerful BUT inconsistent. It will nail a project report and crater a simple filter. When you skim specs or skip reviews, small mistakes amplify fast: the wrong data is shown, if you miss a confirmation - you’re stuck repairing a branch you don’t fully understand. The flip side is just as real: if you slow down, scope tightly, and verify every change, the chaos more or less disappears. You still get a bit of the speed, just without the rework and drama.

1. Slice work to atoms: one thing at a time (tiny commits)

Small scopes keep errors small and make recovery easy.

  • Ask the AI to do one task only (e.g., “fetch X and render it”), then stop and review before the next step.
  • Commit early and often with clear messages. Every commit should work end‑to‑end.
  • If something feels off, reset: branch off a clean state or have the AI rebuild the feature from scratch instead of stacking patches.

2. Verify everything the AI changes.

Speed without verification is negative productivity.

  • Read the task carefully, then check every diff the AI produces, line by line, for correctness and unintended deletions.
  • Test thoroughly after each commit: run the app, click the flows, and confirm existing features (like filters) still work.
  • When the AI proposes risky edits, require explicit confirmation in the prompt and validate the behavior in your environment before proceeding.

3. Manage the collaboration like a real teammate.

Treat AI like a full junior dev: clear inputs, explicit confirmations, and tolerance for variance.

  • Specify expectations: give precise inputs, ask for a short plan, and require it to explain what it changed and why. Learn while coding.
  • Protect attention: remove distractions (I moved my phone to another room) and keep a “next step” note so latency doesn’t take away from your focus.
  • Expect inconsistency. Don’t be disappointed when it “shows up sober”, treat wins as a bonus and rely on process (scope, review, tests) to stabilize output.

If you catch yourself vibe‑coding like I did, pause. Collaborate with the AI instead. With small scopes, frequent working commits, and rigorous verification, you can safely get 2–3x gains in production. If you are lucky, without the whiplash, the Git wars, or the sinking feeling when your tech lead asks where the filter went.

Have you tried vibe-coding? (reply to this email with your experience)

Postboks 60, Bergen, Vestlandet 5821
​Unsubscribe · Preferences

Dalibor Jovic

I help lonely developers, technical and AI leaders with their career and with AI adoption. Once every few weeks I send an email about AI adoption, good coding practices and personal development.

Read more from Dalibor Jovic

The Applicable Bytes Career & Growth, Technical leadership & AI for developers A few minutes into my conversation with Anders Dræge, I realized something slightly embarrassing. He has won awards for his AI work. The last award I remember winning was for school electronics, somewhere around eighth grade. And the difference between us isn’t the technology. Anders leads AI development at Frende Insurance in Norway. His AI systems run in production, and together they save over 400 human hours a...

The Applicable Bytes Career & Growth, Technical leadership & AI for developers You can have 100 projects of five years of experience in one company, and still not be senior. Because repetition is not the same as growth. That sounds obvious when you read it. It was not obvious when I lived it. After five years of programming, I looked strong, on paper: around 100 projects, a team lead title, and forum administrator credibility from the old PHP days. Those things helped me get my foot in the...

The Applicable Bytes Career & Growth, Technical leadership & AI for developers 20 years have passed since I got paid to code for the first time. Here are few things I’ve learned along the way. Most programmers think a career grows with time. Get a job. Complete projects. Stay long enough. Become senior. I did that. I worked on around 100 projects, became a team lead, moved to Norway, and arrived confident that my experience would open every door. Then I discovered I was a junior developer...