AI interfaces converge because agreement gets rewarded
Open ten Show HN launches this week. At least five will have the same lavender gradient, the same three rounded cards with icons on top, the same badge sitting above a centered headline in Inter. Nobody briefed five different founders to build the same site.
The number behind the deja vu
1,590 Show HN landing pages were scored this April against sixteen recurring patterns: Inter on the hero headline, one narrow band of lavender, a badge sitting above the H1, a numbered 1-2-3 step strip. The distribution came out like this.
| Score across 16 patterns | Share of 1,590 pages |
|---|---|
| Four or more patterns (heavy) | 22% |
| Two or three patterns (mild) | 32% |
| Zero or one pattern (clean) | 46% |
54% carried a detectable fingerprint of some kind. That is not a coincidence of taste. It is a coincidence of training.
Why the model reaches for the same answer
A January 2026 paper on LLM homogenization names the mechanism directly: the alignment step that makes a model helpful also penalises it, mathematically, for drifting from the majority pattern in its training data. The paper documents this as collapse along two axes: a single model repeating itself across samples, and separately trained models converging on each other.
A UI has thousands of small decisions per screen: font, spacing, corner radius, one accent color out of millions. Asked for "clean and modern" with no more direction than that, the model's safest, most-rewarded answer at every one of those decision points is whatever sat at the center of its training data. Multiply that across every team's coding agent and the center becomes the entire visible internet.
Adam Wathan, the creator of Tailwind, picked indigo as a neutral default for Tailwind UI's buttons years before any of this, and in August 2025 offered a joke apology for it: five years of that default, he wrote, led to "every AI generated UI on earth also being indigo." One person's placeholder fed enough tutorials and repos into the training corpus to become the statistical centre every agent now reaches for.
The fix is forcing a decision the model won't make on its own
If convergence happens because nothing pushes the model off the average, the fix is something that pushes it off the average on purpose, before code gets written.
That is what Anthropic's own frontend-design skill does: it makes Claude commit to a specific aesthetic direction and a token system as an explicit planning step, and names "generic system fonts" and "predictable purple gradients" as the patterns to actively avoid. The skill doesn't make the model smarter. It removes the option of answering with the average.
What to do with your own agent today
You don't need Anthropic's specific skill to get the same effect. The working version is three constraints a median answer cannot satisfy, stated before the model starts. Fill in the four bracketed values and paste this ahead of your next interface request:
Before writing any code, commit to a design direction and state it back to me
in three lines: the aesthetic reference, the type pairing, the accent.
Hard constraints for this build:
- Typeface: [NAMED PAIRING]. Do not use Inter, Roboto, Geist, or Space Grotesk.
- Accent colour: exactly [#HEX]. No gradient on it, no purple, no indigo.
- Background: [LIGHT/DARK/SPECIFIC], and commit to it. No glassmorphism.
- Banned outright: badge above the headline, three-column icon-card row,
numbered 1-2-3 step strip, centred hero with a single CTA.
If a layout you are about to produce matches a common landing-page template,
choose the second option instead and tell me what you rejected and why.
That last line is the one doing the real work. The others rule out specific defaults; it rules out the behaviour of reaching for a default, which is the thing the training objective actually rewards.
Three constraints, five minutes, and the model can no longer reach for the center, because you've told it what the center isn't.