Vary designs, don’t converge
Give each design its own theme, typeface and look; skip the defaults.
From frontend-design: no design should be the same.
Generate six
Press Generate a few times and compare the counters.
Converging generatorBad
Varying generatorGood
const batch = [...leastUsed(dark).slice(0, 2), ...leastUsed(light).slice(0, 2)];
batch.push(...leastUsed(rest).slice(0, n - 4));
Sameness check
Load a set or change any field to score sameness.
0% shared
Varied
const DEFAULTS = new Set(["Space Grotesk", "Inter", "Purple gradient", "Centered hero + 3 cards"]);
const score = sharedPairs(designs, ["font", "theme", "palette", "layout"]) / totalPairs;
Why it matters, pros and cons
Why it matters
One design can look intentional; six side by side expose a shared default.
Pros
- Each look fits its own brief
- Outputs stop looking machine-made
- Forces a real choice every time
Cons
- Within one product, consistency wins
- Variety for its own sake can ignore the brief
- An established brand or design system overrides it