Skip to main content
4 min read

It took me three months to “vibe code” a simple Pomodoro app

My mentor survived three part-time jobs and bone-deep poverty with a simple tool: the Pomodoro technique. It worked for him. And for years, it has worked…

  • vibe coding
  • pomodoro technique
It took me three months to “vibe code” a simple Pomodoro app

The 90% illusion (and the truth about the new era of coding)

My mentor survived three part-time jobs and bone-deep poverty with a simple tool: the Pomodoro technique. It worked for him. And for years, it has worked for me.

FocusPomo

I loved a simple app called FocusPomo. It did what I needed. But as a developer, there were always tweaks I wanted to make. The problem? I wasn’t an app developer.

Then came the AI era. Suddenly, everyone was “vibe coding.”

I decided to finally build Tomopomo. The idea was simple: a Pomodoro timer that ties your focus sessions directly to a GitHub repo. It would have basic data visualization to reveal your actual working patterns, a leaderboard to compete with friends, and a mascot — a black cat named Tom holding a tomato.

Tomopomo

Using the latest models, I built 90% of this dream app in just three days. It felt like a superpower.

But it was an illusion.

The speed paradox

We hear the stories. A controlled experiment showed GitHub Copilot making developers 56% faster. It feels like magic.

But a recent trial by METR on experienced open-source developers found the exact opposite. When working in real codebases, developers using AI were actually 19% slower. Why? Because the time just shifted. They stopped typing and started reviewing, correcting, and integrating. They felt faster, but they weren’t.

That “three days to 90%” feeling is entirely real for a greenfield UI. But real progress in a real codebase slows down.

The overconfidence trap

Drunk on this new power, I hit the wall. The physics of Tom’s dropping tomatoes felt wrong. The interface failed accessibility standards. The breakpoints were lazy. The loading was sluggish.

I was falling into a documented trap. Research out of Stanford shows that AI assistants can actually nudge us toward writing less secure code. Worse? The researchers found that the AI made the developers more confident that their insecure code was flawless.

AI makes us fast, but it also makes us arrogant. We lose track of the supply chain. We skip the review norms. We assume the machine knows best.

Overwhelmed by the friction of that last stretch, I didn’t finish Tomopomo. I hid. I started twenty two other products. None of them saw the light of day. I told myself I was just practicing, learning to “control the LLM.”

I was wrong.

The last 10% is half the work

Here is a secret seasoned developers know: the “last 10%” isn’t 10%. In practice, the polish, the reliability, and the distribution are at least half the work.

Finishing an app isn’t just about coding skill. It is about product management under tight constraints. To get the AI to build what I actually wanted, I still had to do the hard work. I had to understand the packages, configure the OAuth, connect the databases, and — hardest of all — decide which features to ship and which to kill.

So I stopped hiding. I calmed down and went back to finish what I started.

How to actually ship in the AI era

If you want “vibe coding” to reliably produce a shipped app, you have to stop treating the AI like a magic wand and start treating it like a power tool. You have to bring your own definition of done.

  • Write a ship checklist before you build. Define your accessibility pass, your performance budget, your error states, offline behavior, security reviews, and device checks before you generate a single line of code.
  • Force an MVP cut. One primary loop. One screen of settings. One analytics view. Everything else goes into the “later” bucket.
  • Keep the source of truth human. Use AI heavily for scaffolding and refactoring, but your human-owned specs and tests must remain the ultimate authority.

It’s like the stock market. If you have infinite compute and massive data, you can do high-frequency algorithmic trading. The rest of us? We have to invest in the fundamentals.

We’ve been talking about “vibe coding” for a year now. Soon, the term will fade away. It will just be called “coding.”

The new era isn’t that software got easy. It’s that iteration got cheap.

The bottleneck has moved. It’s no longer about writing boilerplate. The bottleneck is now your judgment, your verification, and your polish. That is what makes software good, not merely existent.


Originally published on Medium.