Best practices
Making AI-generated UI not look generic
The tells of an unedited AI-generated screen, and the structural (not aesthetic) fixes .gui makes available.
Unedited AI-generated interfaces tend to converge on the same handful of tells: a purple-to-blue gradient with no relationship to the product, fully rounded pill buttons everywhere regardless of size, one spacing value (usually 16px) reused for every gap with no rhythm, and a single generic type scale with no real hierarchy. None of this is a .gui problem specifically: it’s what happens when a model defaults instead of deciding. But .gui’s structure makes the fix mechanical rather than vague.
Replace default fills with a real token palette
A generic gradient is usually a placeholder nobody committed to. Define tokens that came from the actual product (a brand color, a real neutral scale) and reference them everywhere instead of leaving default fills in place. This is the same fix that improves Consistent scoring in CCAC: one committed system beats several undecided ones.
Give spacing a scale, not one number
Uniform 16px everywhere is a tell precisely because real interfaces don’t space everything identically: related items sit closer together than unrelated sections. Use a small set of deliberate gap values (say 4 / 8 / 16 / 32) and apply the smaller ones inside a group and the larger ones between groups, instead of one value applied everywhere by default.
Use role= to make hierarchy structural, not just visual
Generic UI often has visual hierarchy (a bigger font here, a bolder weight there) with nothing underneath it. Declaring role= on headings, primary actions, and key content makes the hierarchy a structural fact of the file, not just a font-size choice: and it’s the same signal that improves Comprehensible scoring.
None of this requires design taste to execute: it requires actually deciding on a token set and a spacing scale instead of accepting whatever a model defaulted to, and the closed vocabulary makes it possible to check that those decisions were actually applied consistently across the file.
Frequently asked
Why does AI-generated UI often look the same regardless of tool?
It converges on defaults instead of decisions (the same gradient, the same uniform spacing value, the same generic type scale) because nobody committed to a real token set or spacing scale for the specific product.
Can .gui’s quality score catch a generic-looking design?
CCAC scores the file, not the design’s taste: it won’t flag "boring" directly. But undecided defaults usually show up as inconsistency (repeated literal values instead of a token system), which the Consistent level does catch.