3
7 Comments

Vibe-coded apps share one bug. It’s not the model.

Been looking at AI-built apps shipped on IH lately: Claude, Lovable, v0, Cursor, Bolt.
Same pattern keeps showing up.
It’s not the model, It’s the interaction layer.

Most common version:
User clicks “Generate” or “Submit” or “Run.”
The button doesn’t change.
No spinner.
No label swap.
No disabled state.

Two seconds pass.

User clicks again.

Now the request fires twice.
On a slow connection, the flow breaks.
The user blames the AI and leaves.

I keep seeing this exact bug sitting on the primary CTA.

The fix is tiny:
disable while pending, swap the label to “Generating…”, add a spinner.

Standard async pattern.
But a lot of AI-building tools still ship these interactions raw.

Three other behavioural patterns I keep seeing in vibe-coded apps:

  • AI output with no undo → users feel stuck the moment generation goes wrong
  • Missing citations/confidence cues on factual answers → trust erodes on every reply
  • Chat-only UI for tasks that really want a form → abandonment shows up fast

None of these are “the model is dumb.”
All of them are the interaction layer getting skipped.

Curious for people who’ve shipped with Lovable / v0 / Cursor / Bolt:
What UX issue did you only notice after launch that the tool didn’t warn you about?

I’m building something around this. Not pitching today — but if you want me to look at your app and send back what I notice, reply here or DM.

Just currently obsessed with AI-product UX.

on May 28, 2026
  1. 1

    The undo gap is the one I'd put first. Nothing kills trust faster than an AI doing something you can't reverse in one click. Most vibe-coded apps inherit chat-UI patterns where the only undo is "send another message", which is the worst kind of undo because it widens the surface area instead of narrowing it. Connected observation from the productivity-app world: habit apps figured out a decade ago that reward-on-close beats reward-on-add. AI tools are still in the reward-on-add era, which trains users to start things and then avoid the app once the output looks weird. Building the close-loop (clear undo, confidence cues, exit ramps) is the same problem with a different name.

    1. 1

      This is a great point. Loading says “something is happening,” but undo says “you’re safe if this goes wrong.”

      That may actually be the deeper trust layer for AI products.

      I also like the reward-on-close framing. A lot of AI tools optimise for starting the task generate, ask, run — but don’t help users finish with confidence: accept, undo, compare, verify, save, exit.

      That’s probably the product-quality layer I’m circling: better close-loops around AI actions, not just prettier UI.

  2. 1

    This is a sharp observation because most people blame the model when the real failure is the product layer around the model.

    The async state example is small, but it points to a bigger issue: AI-built apps often generate capability before they generate trust. The user needs to know what is happening, whether the action worked, whether they can undo it, and whether the output is safe to rely on. Those details decide whether the product feels usable after the first “wow” moment.

    If you are building around this, I’d be careful to frame it bigger than “UX feedback for vibe-coded apps.” The stronger category is AI product quality: interaction states, trust cues, recoverability, confidence signals, and workflow fit before launch.

    That is also where naming will matter if this becomes a product. A name like Xevoa .com would fit that broader direction better because it feels like an AI workflow/product layer, not just a critique or audit service.

    The insight is strong because it is clearly in the founder’s favor: better UX makes the same AI product feel more reliable without changing the model.

    1. 1

      Yes, “AI-built apps generate capability before they generate trust” is a great way to put it.

      I agree this probably shouldn’t be framed as UX feedback for vibe-coded apps. That feels too narrow.

      The bigger thing I’m circling is AI product quality: feedback states, recoverability, trust cues, confidence/source signals, and whether the workflow actually fits the task.

      The part I care most about is turning those into fixes builders can ship, not another score/report.

      Appreciate the naming thought too, still exploring that carefully.

      1. 1

        That makes sense.

        The key thing is that this should not feel like another report layer. If the output is fixes builders can actually ship, then the product is closer to an AI product quality layer than UX feedback.

        That changes the naming question too.

        A narrow name could make it sound like “send me your app and I’ll critique it.” But the bigger opportunity is helping AI-built products feel reliable before users hit the rough edges: state handling, recovery, trust signals, confidence cues, and workflow fit.

        That is why Xevoa.com stood out to me. It has more room to become a product layer, not just a feedback service. Short, clean, and broad enough for AI workflow/product quality without locking you into “UX audit” language.

        I’d pressure-test the name around that bigger category before you settle too deeply into the current framing.

        1. 1

          This is helpful, especially the “not another report layer” point.

          I agree, the bigger category is closer to AI product quality than UX feedback: state handling, recovery, trust cues, confidence signals, and workflow fit.

          The part I want to keep sharp is the action loop.

          Not just “here’s what’s wrong,” but “here’s what to ship.”

          That’s what I’m trying to pressure-test right now, whether these gaps can become concrete fixes builders would actually use.

          Appreciate the naming thought too. Still exploring it, but I don’t want the name to get ahead of the product behavior.

          1. 1

            That is the right constraint.

            The name should not get ahead of the product behavior. But it also should not trap the product in the wrong behavior once the shape becomes clearer.

            If this stays as “review my AI-built app and tell me what is wrong,” then a narrower UX/feedback name is fine.

            But if the core loop becomes “find the trust gaps and turn them into fixes builders can ship,” that is a different product category. It starts feeling less like critique and more like an AI product quality layer.

            That is where I think the name matters. It should carry the action loop, not just the diagnosis.

            That is why Xevoa still feels directionally strong to me. It does not force you into audit/report language, but it has enough room for workflow, fixes, product quality, and AI reliability.

            I would not rename before the behavior is proven. But I would pressure-test the name in parallel, because once builders start associating the product with shipped fixes, the brand shell will be harder to change cleanly.

Trending on Indie Hackers
I built a startup-idea scanner. It just told me none of my 3,400 ideas are easy wins. User Avatar 77 comments “I’ll just post on Upwork” is not a client strategy. Here’s what I built instead. User Avatar 60 comments Building a Shopify bundles app for stores with real fulfillment: here's the wedge User Avatar 42 comments I Just Discovered My Analytics Numbers Are Mostly Fake. Here Is Why. User Avatar 37 comments I recorded myself using 200+ indie SaaS products cold. Here are the 7 conversion killers that keep showing up. User Avatar 36 comments The Capture Trap User Avatar 33 comments