3
7 Comments

Vibe-coding doesn't fail at what to build. It fails at how much to build at once.

Hey IH — first post after a few weeks of reading and replying. Wanted to share the build that made me change how I work, because I think a lot of people here are quietly doing the same thing I was.
About four months ago, I started vibe-coding a research tool using loveable.dev. Plain-English prompts, ship a feature in a morning, "look at this thing I built before lunch."
It was fast. It was also a trap.
By week 6, I had a tool with surveys, interview workflows, card sorting, tree testing, affinity diagrams, personas, and a dashboard. Looked impressive. Felt like progress.
By week 9, every new feature I shipped was breaking two old ones. I'd add a new analysis flow, the surveys page would silently 500. I'd patch the surveys page, the persona builder would forget which project it belonged to. I started spending more days fixing regressions than building anything new.
Around week 10, I caught myself debugging a tree-test bug at 1 AM and realized I had no idea if a single user actually wanted tree tests. I had built it because I'd seen it on a competitor's pricing page. The whole stack was load-bearing on competitor envy.
So I did the thing I should have done in week 0. Cheapest test I could think of: I wrote three landing pages for three different framings of the product, $50 of ads behind each, and watched what people clicked, opened, and reached for a credit card on.
The results that mattered:
– The "all-in-one research suite" framing (what I'd been building toward): 0.7% CTR, 2 emails, 0 card-reaches.
– The "validate before you build" framing (one specific use case): 3.1% CTR, 29 emails, 9 card-reaches.
Same audience, same week, same money. The thing I'd been building was the thing the market wanted least.
The painful part wasn't that the data killed an idea. It was realizing how many of the regressions I'd been losing weeks to were on features the test said nobody wanted.
What I changed:

I stopped writing code on Mondays. Mondays are now for the cheapest possible test of whatever I'm about to build that week. If the test fails, the code never happens.
I deleted three feature surfaces from the app. Card sorting, tree testing, and the bespoke dashboard — all on the "vanity tier" of the validation. The regressions stopped almost immediately.
I rebuilt the homepage around the framing the test actually rewarded. Same product, sharper promise. Conversions up roughly 4× off a small base.

The vibe-coding loop is genuinely a superpower. But it's a superpower for building the wrong thing faster. It needs an outer loop — a 24-hour pre-build test — or it just compounds your wrong assumptions.
A pattern I now see in basically every "I'm stuck / I'm overbuilding / I'm breaking my own app" post on this forum: the build velocity is fine. The thing that's missing is a cheap signal before the velocity that says which features to skip.
Two questions for IH:

For folks who vibe-code (Cursor, Claude Code, v0, Lovable, etc.) — what's your outer loop? Or is the loop just "ship and see"?
Have you ever killed a feature based on pre-build evidence, before writing any code for it? If yes — what was the test? I'm trying to collect failure modes.

posted to Icon for group Ideas and Validation
Ideas and Validation
on May 6, 2026
  1. 1

    This is easily one of the most high-signal posts on IH right now. The trap with modern vibe-coding (Cursor, Claude Code, Lovable) isn't that the AI fails to write the code—it's that it removes the financial and temporal 'tax' of development, which used to force us to think twice before overbuilding. High velocity without direction just compounds technical debt faster.

    Your framework of using cheap ad-spend to isolate the specific framing (validate before you build vs all-in-one suite) is brilliant.

    To answer your question on the outer loop: My outer loop relies heavily on brand-concept positioning and asset validation before a single line of prompt engineering happens.

    Just like you found that a sharper promise beats an 'all-in-one' feature soup, I’ve found that launching a high-converting, fictional landing page on a premium, category-defining domain name does the heavy lifting for validation.

    If you put a premium name in front of a user, it acts as a massive 'trust shortcut.' It cuts down ad bounce rates and skips the trust-validation phase. If users won't drop an email or reach for a credit card on a clean landing page backed by a premium, authoritative domain, no amount of vibe-coded features or dashboard layouts will save the product.

    I’ve absolutely killed concepts early based on this. If the direct-nav traffic or the initial landing page conversion on a specific brand framing is dead, the code never happens.

    Kudos on deleting those feature surfaces—less code to maintain means more time to focus on the signal that actually converts.

  2. 1

    This is the clearest diagnosis of vibe-coding failure I've seen. The context window problem is real - once the codebase grows past what the model can hold coherently, quality collapses. But the underlying cause is scope discipline, not the AI itself.

    The same failure mode hits solo founders managing their own business ops. They try to set up everything at once - CRM, project tracking, invoicing, analytics - and none of it actually gets used because the system is too complex to maintain solo.

    The fix is the same: start with the minimum linked set that creates immediate value. For a solopreneur, that's probably CRM + project tracker linked together, nothing else. Building a Solopreneur Notion OS with exactly this philosophy - 6 linked databases, but designed to be adopted incrementally. What's the right scope discipline rule you've found for vibe-coding projects?

  3. 1

    "The vibe-coding loop is a superpower for building the wrong thing faster."

    That's the most honest description of what happens by week 6.

    But there's a second failure mode you didn't mention: even when you're building the right thing, the loop breaks down at the session boundary. You ship on Tuesday, come back Thursday, open a new chat — and the AI starts fresh. No memory of what was built, what broke, what decisions were made. So it starts rebuilding your assumptions from scratch, just like you were rebuilding competitor features from envy.

    The outer loop you're describing (Monday validation) solves the "what to build" problem. The inner loop problem is "the AI doesn't know what was already built." Both compound silently until you're debugging at 1am wondering how you got here.

    Monday tests for what to build. Session handoffs for what was built. Two different loops, both need to exist.

  4. 1

    The Monday test rule is the real insight here - the most overbuilders know they should validate but never make it structural. Making it a calendar habit removes the decison entirely.

  5. 1

    The landing-page test probably exposed something deeper too:

    “Research Rocket” is pulling you back toward the exact “all-in-one suite” positioning the data just disproved.

    It sounds broad, exploratory, multi-tool, feature-heavy.

    But the winning signal was the opposite:
    “validate before you build.”

    That framing is tighter, sharper, more urgent, and much more painful.

    The interesting part is that you already deleted features after the test.
    The brand may still be carrying the old product philosophy.

    A name like Exirra.com or Xevoa.com would fit the narrower validation-first positioning much better than “Research Rocket” if you keep moving in that direction.

    Especially because the product now sounds less like “research software”
    and more like decision infrastructure for founders trying not to waste months building the wrong thing.

  6. 1

    Vibe-coding is a superpower for building the wrong thing faster if there is no map to guide the velocity. Your Monday testing rule is a brilliant linter for product-market fit that prevents you from hard-coding your own assumptions. It is much easier to delete a failing landing page than to debug a feature that should have never existed.
    Trading "competitor envy" for actual market signals is the best way to keep your codebase lean and your late nights quiet.
    Did the "validate before you build" crowd point out any specific tool they were currently using as their messy workaround?

  7. 1

    That's exactly the thing with AI: it's just a tool. It can't build a successful product without humans. You need to find the right idea, to validate it, and to turn it into a product vision. Thanks for highlighting this in your story.

    Also, AI fails at building complex production-ready apps. That's true. It's better to start with a simple, focused solution and scale it later after market validation. Recently, I shared a guide to moving vibe-coded apps to production. I hope it helps founders out there.

Trending on Indie Hackers
I Was Picking the Wrong SaaS Tools for Two Years. Here's the Mistake I Finally Figured Out. User Avatar 102 comments Drop your landing page URL. I'll use Ferguson to tell you why visitors might be leaving User Avatar 64 comments AI helped me ship faster. Then I forgot what my product actually does. User Avatar 40 comments Most early-stage SaaS companies miss churn signals — here’s how to catch them early User Avatar 31 comments Why Remote Teams Stop Talking (And Don't Even Notice It) User Avatar 23 comments How I Run a 1.7M Product Search Engine at 66ms on a $0 Hosting Budget User Avatar 19 comments