The Best Designs Come From One Prompt

April 25, 2026

If you want the best design an LLM can produce, don't ask for one. Ask for five, in a single call.

Most people generate a design, dislike it, and hit regenerate. They get the same answer rolled with slightly different dice. Same prompt, same context window, same probability distribution. Then they try again with a tweaked prompt, or open a new chat, and land somewhere equally generic. The dominant cluster of the training data has them.

There's a better move, popularized by Theo: in one prompt, ask for five designs on routes /1 through /5, and tell the model each one must be unique. The first design will still be generic. The fifth one will be doing things you didn't know the model knew how to do.

The mechanism is specific, and it only works inside a single generation. Five separate calls cannot reproduce it.

Here's why.

Each design rewrites the prompt for the next

LLMs are autoregressive. They predict the next token given everything that came before. When the whole batch lives in one generation, "everything that came before" grows with each design.

Every token already on the page reweights the probabilities for every token that comes next. You didn't change the prompt. You let the model change it for you, by writing into its own context.

Five separate calls can't do this. Each fresh call starts from the same prompt with no memory of what was already tried. Every one lands in the dense center of the distribution. You get five variations of the same generic answer, with no upward pressure on any of them.

"Make them unique" turns attention into a penalty

The instruction to make each design "different from the others" is the load-bearing part of the technique. Without it, the model will happily generate five variations of the same centered hero inside the same generation, because nothing penalizes repetition.

With it, you've turned the model's attention mechanism into a self-suppression filter. When generating Design 2, the attention heads compare each candidate token against the tokens already present in Design 1. Anything that matches gets penalized against the "must be different" instruction. To produce something the prompt accepts as unique, the model has to reach for tokens with lower base probability.

By Design 4, the model has burned through its defaults. The safe layouts, the safe palettes, the common component patterns are all in the rear-view mirror as forbidden territory. To satisfy the prompt, it's forced into lower-probability regions of its latent space, the parts of the training distribution it almost never visits when prompted cold.

Latent space, projected to 2D
12345
Design 5default

Magazine columns

Deep exploration. Atypical structure the model would not propose first.

Each design penalizes the next. By design 5, the model is exploring regions it would never reach cold.

That's where the genuinely interesting designs live. They only exist because the prior four designs are sitting in the context, defining what "different" has to mean.

Why regenerate (and re-prompting) gets you slop

Regenerate doesn't get you a different answer. It gets you the same answer, rolled with different dice. The model has amnesia. The first generation never happened, as far as the second one is concerned. Same prompt, same probability distribution. Most rolls land back in the same basin: the centered hero, the purple-to-blue gradient, the three-card feature grid.

Opening a new chat and rewriting the prompt has the same problem. You're still cold-starting from a prompt. The model has no record of what it already proposed. Nothing is pushing it away from the defaults.

This is why "AI slop" has a recognizable look. You're not drawing from the model's full creative range. You're drawing from the densest few percent of its training distribution, over and over.

The bundle is the only setup where the model's own prior output is in the context, telling it what not to do.

Routes are semantic fences

Putting each design on its own route (/1, /2, /3, ...) isn't just file hygiene. It's a structural anchor for the attention mechanism.

Long generations bleed. Concepts from Design 1 leak into Design 3 unless something tells the model "the rules of the previous section ended; a new isolated context starts here." Route boundaries do that work. They tell the model: fresh component tree, fresh styles, fresh layout language.

Without the boundary, you tend to get five designs that are technically distinct but share a vocabulary, like five paintings by the same artist on the same afternoon. With the boundary, you get five designs that feel like they were briefed independently.

The prompt

Prompt: Five Variations

Build five distinct designs for this screen. Put them on routes /1, /2, /3, /4, and /5.

Each design must be visibly different from the others in:

  • Layout structure (grid, asymmetric, full-bleed, sidebar, split)
  • Visual hierarchy and where the eye lands first
  • Color palette and typographic system
  • Component patterns and interaction model
  • Overall mood and reference aesthetic

Do not reuse a layout idiom, color treatment, or component pattern from an earlier route. By route /5, you should be exploring approaches you would not have proposed first.

After building, write a one-sentence note at the top of each route explaining what makes it different from the previous ones.

The closing instruction (explain what makes it different) is a forcing function. It makes the model commit to the diversity during generation rather than rationalize it after the fact.

Where this generalizes

The technique isn't about UI. It's about anything where the highest-probability answer is the boring one and you want the model's better work.

Anywhere the default answer is the worst one, ask for the batch in one call.

What bundling isn't

Bundling doesn't replace iteration. The five-in-one-shot move gets you out of the slop basin. It does not get you to a finished product. Once you have a design you like, you still need to refine it, and refinement works best in a focused context, not buried under four sibling designs.

Use bundling for divergence. Use focused follow-ups for convergence.

The best designs the model can give you don't come from the right prompt. They come from the right prompt, run once, with four prior attempts sitting in the context shoving the fifth somewhere new.