Reviewing AI-generated UI: a checklist

05/08/2026 — admin@byqreal.test
Reviewing AI-generated UI: a checklist

Generated UI tends to fail in consistent ways: invented values outside the scale, missing states, absent accessibility attributes, and layouts that only hold at the width they were written for. A short checklist covering those catches most problems before review becomes a matter of taste.

Reviewing generated UI is disorienting at first because it does not fail the way hand-written code fails. There are no typos and no half-finished functions. It looks complete.

The failures are elsewhere, and they repeat. Which means a checklist works.

Values outside the system

Start here, because it is the most common and the easiest to miss by eye. Scan for spacing, colours, radii and font sizes that are not in your scales. A 14px gap where the scale has 12 and 16 reads as fine individually and as sloppy in aggregate.

And components used outside their context

A card nested in a card, a section that added its own page padding, a heading level that jumped from h2 to h4. Structurally valid, conventionally wrong.

The states nobody asked for

Ask for a table of orders and you get a table of orders. You do not get the empty state, the loading state, or what happens when the request fails — because you did not ask, and the model does not know those exist in your product.

This is the single largest gap in practice. Generated UI is almost always the happy path only.

Accessibility

Markup is often semantically reasonable and still missing the parts that make it usable: labels tied to inputs, focus visible, a button that is a button, alt text that says something, an icon-only control with an accessible name.

Much of this is mechanically checkable. Put it in CI rather than in a reviewer's head.

The two tests that find the rest

Make the window narrow. Then put a very long string in every text field — a product name of sixty characters, a customer with three surnames.

Between them these find most remaining layout faults: the row that does not wrap, the truncation that never arrives, the button that overflows its container. Both take under a minute and neither requires judgement.

Then look properly

With the mechanical faults gone, the remaining question is whether the interface is any good — whether the hierarchy is right, whether the primary action is obvious, whether it feels like the rest of the product.

That is the part worth human attention, and it is easier to give when you are not also hunting for a stray margin.

Frequently asked questions

Can the checklist be automated?

Partly, and that is where to start. Off-scale values, unknown class names and missing alt text are all mechanical checks. Whether the layout is actually good is not, and that is what the human attention is for.

Should generated UI be held to a higher standard?

The same standard, applied more systematically. The volume is higher and the failures are more predictable, so a checklist pays off faster than it would on hand-written code.

Sign in to react.
Share this post.

Comments

Sign in to join the conversation.

No comments yet. Be the first.

Don't miss this

You might also like

Why temperature changes the answer, not the knowledge
Why temperature changes the answer, not the knowledge
08/09/2026 — admin@byqreal.test

Turning temperature down does not make a model more accurate. It makes it more repeatable — and confusing the two is how...

Why models hallucinate, and what actually reduces it
Why models hallucinate, and what actually reduces it
31/08/2026 — admin@byqreal.test

Hallucination is not a glitch that a better model will one day remove. It is what generation does when it has nothing to...

Choosing between a large model and a small one
Choosing between a large model and a small one
25/08/2026 — admin@byqreal.test

Most production traffic does not need the largest model available. Routing by task rather than defaulting to the top of...