Why every AI-generated UI looks the same
Purple-to-blue gradient cards, a centered icon grid, low-contrast dark mode. The tell is hardcoded hex drifting away from a token file nobody is checking against.
Every AI-generated UI I see lately looks roughly the same: a particular sans-serif, purple-to-blue gradient cards, a centered icon grid, low-contrast dark mode. One AI lab calls this distributional convergence — without explicit steering, a generative model samples from the safest, highest-probability region of its training distribution, the average of everything it's seen. I ran into this building hop, my flights side project, and on this site. An analysis of 1,590 Show HN vibe-coded submissions found 22 percent showed heavy slop, four or more recognizable patterns stacked together. No single fix solves it, but the countermeasures that work share one property: they're structural, not a better prompt. Grounding generation in a real component library, locked before generation starts, closes off the route into generic territory entirely. Token discipline helps almost as much — hand a model raw hex values and it hardcodes them, so I hide raw color primitives from the model and give it only semantic tokens, paired with deterministic linting to catch drift the moment it happens. Forcing an aesthetic-direction decision up front, grounded in the brief's own subject matter, is the third lever. On AI-judged design quality I stay skeptical — a model's critique correlates weakly with human judgment, and even trained designers disagree with each other. The leverage is constraints and process. Everything else is hoping.