I’m Spending Too Much on Windsurf (and Vibe Coding)

Building my app has been a gradual process. I’m not done—my MVP is still in progress—but enough momentum has built up that it’s worth talking about the path so far, the decisions I’ve had to make, and the traps I’ve tried to avoid.

Vibe Coding: What I'm Using and Why

I’ve been building using a method I call “vibe coding”—where you describe what you want the app to do in plain language, and AI (usually GPT-based) helps generate code or at least a starting point. It’s not perfect. Most of the time, the AI gives you something 70% complete. The rest is on you to troubleshoot, edit, and get it working.

This approach was introduced more formally by Andrej Karpathy in early 2025, but I’ve been using it since before it had a name. It helps me stay in flow and focus on product logic instead of boilerplate.

Where the Build Is Right Now

The MVP is in active development. The core features are scoped. I’ve tested and discarded a few ideas that didn’t align with user needs. I'm currently:

  • Running iterative tests on onboarding flows.

  • Using Notion to track feature progress and blockers.

  • Syncing AI-generated code into GitHub with manual review before commits.

It’s not live, but the bones are solid.

Early Signs of Traction

Even without a public release, there’s been some traction. Sharing short demo clips and internal builds with a small group has generated interest. A few folks have already asked when they can use it. That’s encouraged me to keep scope tight and get to a solid alpha.

What worked:

  • Posting build logs and short videos to friends.

  • Getting feedback from potential users early.

  • Keeping messaging aligned with what the app actually does, not what I hope it might do one day.

The Feature Creep Temptation

Every time someone gives feedback, I want to add something. A toggle here. A sidebar there. A fourth view mode. It feels productive. But it’s also a trap. The more I stack on, the further away I get from shipping.

I’ve started treating new features like optional windsurf accessories. Do I need this foil fin? Or do I just think I’ll look cooler with it?

How I'm Staying Focused

Here’s how I’m managing scope:

  • Goals > Features – I review every feature against one core user goal. If it doesn’t support that goal, it goes in the parking lot.

  • Feedback Buckets – I sort feedback into “Fix Now,” “Revisit Later,” and “Nice Idea, Not for This App.”

  • Version Discipline – I’m already thinking in V1, V1.1, V2.0, etc. Everything can’t go into the first release.

What I’ve Learned So Far

  • Vibe coding works, but you need to fact-check every line it generates.

  • MVP means “minimum viable”—not “minimum viable plus three bonus features.”

  • The sooner people see your product, the more you’ll learn. Even if it’s unfinished.

Next
Next

The Rapid Evolution of AI – A Developer's Dilemma