Home
Issue 001

Why Vibe Coding Breaks at Brand Scale

August 2026 · 5 min read


Ask an LLM to build you a landing page in your brand’s style. Then open a new window and ask it again. Now do that again with every component on the page, down to a simple text link.

You’ll get a different result every time.

It may all be defensible, and roughly on-brand, but no two will be the same. And if you’re building one page, that’s fine; pick the outcomes you like and move on.

Now do that within an established ecosystem, or across multiple team needs, hundreds of times, week in and week out, across any platform.

That’s where vibe coding stops being magic and turns into a liability. The model didn’t get worse. The input never got better.

The problem isn’t the model. It’s what you’re feeding it.

Most teams ask an LLM to visualize a specific client by handing it a PDF of its brand guidelines, a few screenshots, and written creative direction of the brand’s vibe. “Modern but warm.” “Confident, not loud.” “Think Scandinavian, but for insurance.”

That language is doing real work, but only for humans. A Creative Director reads “confident, not loud” and knows exactly which of the four brand colors to reach for, because they’ve absorbed a decade of context about what that phrase means in practice.

A model has no such context. It has a probability distribution. Give it a vibe and it returns a plausible sample from that distribution. A different one every time you ask.

This is not a prompting problem. You cannot prompt your way out of it. Better prompts narrow the distribution; they don’t collapse it. As long as the brand exists only as a guidepost, the output will exist only as an approximation.

What a brand looks like when a machine can read it

The fix is to stop describing the brand and start defining it.

Not at the level of “here’s our primary blue.” That’s still too coarse. It tells the model what the color is, not when to use it, what it means, or what it becomes in a dark theme, a disabled state, or an email client that doesn’t support custom properties.

You have to go further down. Past components, past styles, to what I’ve started calling the subatomic layer: the smallest decisions a brand makes, expressed as structured, named, machine-readable values, with the relationships between them made explicit.

Not #1B4DE4.

But: a primitive that holds the value. A semantic token that says this is the action color. An appearance state that says what happens on hover, on focus, when disabled. A mode that says what all of that becomes at night. And a component that consumes those tokens rather than hardcoding anything.

Now the brand isn’t a description. It’s a data structure.

A model can’t get creative with a data structure. There’s nothing to sample from. Ask for a button ten times and you get the same button ten times, because “the action color for a hover state of a medium button” resolves to exactly one value.

That’s the whole trick. You don’t make an LLM more consistent by constraining the output. You make it consistent by structuring the input.

Guardrails, not vibes

The instinct when an LLM output goes sideways is to add more review. More human QA at the end of the pipeline, catching drift before it ships.

That scales linearly with volume, which is another way of saying it doesn’t scale at all. If your output goes up 10x, your review burden goes up 10x, and the humans doing the reviewing are the same senior people you needed for the actual creative thinking.

Tokenization moves the control point. Instead of catching mistakes at the end, you make certain mistakes structurally impossible at the beginning. The model can’t invent an off-brand blue if the only blues available to it are the ones in the system. It can’t misuse a spacing value that doesn’t exist.

You’re not asking the LLM to behave. You’re building a room it can’t behave badly in.

The part nobody expects

The second-order effect is the one that actually pays for the work.

When your brand is expressed as tokens, and your components consume those tokens, the design is the code. It is already the thing. There’s no translation step, because the translation happened upstream, once, as an architectural decision rather than a per-project handoff.

Production turns into assembly.

I’ve watched an eight-week production timeline compress to two. I’ve watched a landing page go from a week to two days. Nobody worked faster. Most of what used to be “work” was repetition: a developer rebuilding, from a Figma file, decisions that had already been made three times before on three other pages.

Do that once and it’s a nice efficiency story. Do it across a portfolio and it changes what the team is for. The people who were rebuilding buttons are now doing the thinking that only they can do.

What this means if you’re staring at an AI mandate

Most organizations right now have an AI directive from the top and a pile of pilots at the bottom, and a gap in the middle where the strategy should be. The pilots demo beautifully and don’t survive contact with real volume, and nobody’s quite sure why.

This is usually why. The demo works because one person prompted carefully once. Production fails because two hundred people are prompting carelessly, constantly, against an input that was never structured to hold them.

So before you buy another tool:

  1. Ask what your brand looks like as data. If the honest answer is “a PDF and some Figma files,” you don’t have an AI problem yet. You have a foundations problem that will present as an AI problem in about six months.
  2. Ask where your control point is. If your only guardrail is human review at the end, you’ve capped your ceiling at the number of hours your senior people can stay awake.
  3. Ask what happens the second time. Any workflow that produces a good result once is a demo. A workflow that produces the same good result the tenth time is a system.

Vibe coding is great. I use it every day. But it’s a solvent, not a foundation. It will dissolve the boring parts of a build faster than anything we’ve ever had, and it will dissolve your brand consistency just as fast if there’s nothing structural holding it in place.

The work isn’t learning to prompt better.

The work is making your brand something a machine can actually read.