Design vs vibe code: where AI building helps, and where it quietly costs you

Vibe coding is real and it is useful. I use it every week. What it does not do is decide what should exist, and that is still where most products succeed or fail. Here is an honest split of the work.

By Timothy Nice9 min readUpdated September 2026

What vibe coding is

Vibe coding is building software by describing what you want to an AI model and steering the result, rather than authoring most of the code yourself.

The honest version of the pitch: it compresses the distance between an idea and something running in a browser from weeks to hours. The honest version of the caveat: it compresses the distance between an idea and something running, not between an idea and something worth running.

What it is genuinely good at

  • Prototypes that answer a question. A clickable thing in two hours beats a document in two weeks, every time.
  • The boring middle. Forms, tables, filtering, auth wiring, admin screens, the fiftieth CRUD view.
  • Exploring options. Three versions of an interaction, side by side, cheap enough to throw two away.
  • Getting unstuck in unfamiliar territory, where the cost used to be a week of reading documentation.
  • Solo founders reaching a demo they can put in front of a customer without hiring first.

The speedup is real. What changes is not whether you need judgment, it is how quickly a lack of judgment becomes visible in production.

What it consistently misses

DecisionWhat AI building tends to doWhat it costs later
What to buildBuilds whatever was asked for, thoroughlyA feature set nobody prioritized and nobody can explain
The data modelInvents plausible tables per featureObjects that overlap, names that drift, migrations that hurt
Hierarchy on a screenGives every element similar weightScreens with no point of view, which read as generic
The unhappy pathsHandles the success case first and bestEmpty, error and permission states that erode trust
Craft in motion and typeReasonable defaults, uniform rhythmA product that works but does not feel like anyone made it
Consistency at scaleSolves each screen locallySix variants of the same button and a system nobody trusts

None of these are model limitations you can prompt your way out of, because none of them are questions with a correct answer available in the prompt. They are judgment calls about your customers, your business and your taste.

How to combine them

  1. 01

    Decide the model and the nouns by hand

    Twenty minutes naming the objects in the system saves a month. Do this before you generate anything.

  2. 02

    Design the two screens that matter

    The first-run screen and the daily-use screen. Get the hierarchy, type and spacing right in those two, deliberately.

  3. 03

    Set the system before you scale

    Tokens for color, type and spacing, plus a small component set. Then generation has rails and every new screen inherits the decisions.

  4. 04

    Generate the volume

    The remaining screens, the plumbing, the tests, the admin views. This is where speed is free.

  5. 05

    Review like an editor

    Read what came back the way an editor reads a draft: is this the point, is it too long, does it match the voice, what would I cut.

  6. 06

    Finish by hand

    The last ten percent, which is motion, empty states, focus order, copy and the small tactile moments, is still hand work. It is also most of what people remember.

How to tell a vibe-coded product from a designed one

Customers cannot name it, but they feel it. These are the tells I look for in a review.

  • Every card has a shadow and a border and a gradient, because no one decided which one carries the meaning.
  • The empty state says no data found.
  • Spacing is consistent within a screen and different on every screen.
  • The copy is grammatical and says nothing specific about the business.
  • Interactions are instant or nonexistent, with no motion that communicates cause and effect.
  • Two features overlap and both stay, because deleting was never on the table.

If you are a founder deciding right now

  • Validating an idea, need a demo this month, small budget: build it yourself with AI tools, and get a designer to review before customers see it.
  • You have customers and a real roadmap: get the model, the system and the core flows designed properly, then use AI for volume.
  • You already shipped something vibe-coded and it is straining: keep it, and spend the next cycle on the data model and the design system rather than a rewrite.