Six lenses
One lens at a time, behaviour first.
Hunt for everything at once and the loudest flaw takes the whole pass. He sweeps the screen six times, records the evidence, and only then ranks what he found.
Product design
What the screen should do before anyone styles it. Styling cannot rescue a control that makes the wrong promise.
- The control matches the shape of the choice, not habit
- Object, scope and consequence named before the click
- Every reachable state designed: empty, loading, error, denied
P0Delete wears the same button as Save, no confirm, irreversible
Copywriting
Every word in the interface, from the headline to the error message.
- Headline leads with the reader's problem, body with their outcome
- Adjectives replaced by a number, a name or a scenario
- Buttons name results; errors name the recovery
P1Primary button says "Get started": a mechanic, not an outcome
Typography
How the text is set, and whether the typeface's voice agrees with the words.
- No faux bold or faked italic; test Il1O0 and rn
- Measure 45 to 75 characters, line height 1.4 to 1.5
- Sizes identical or clearly different, never nearly equal
P2Heading is a browser-smeared faux bold
Craft
A look chosen on purpose, then space, colour and edges that keep to it.
- Type, colour, radius and voice agree on one look
- Gaps identical or clearly different, never 12 next to 16
- One accent with one job; neutrals tinted toward the page
P2Eleven font sizes and six greys: the menu was never written down
Interaction
What it does under your hands: focus, targets, forms, feedback and access.
- Focus visible, returns to its trigger, never trapped
- A failed submit keeps every character typed
- The same task finishes by keyboard, by screen reader and in bad light
P0Validation error clears the whole form
Animation
Motion that explains a change. Everything else is instant.
- Every movement has a job: feedback, orientation, continuity or delight
- Starts fast and settles; exits quicker than entrances
- Reduced motion honoured; keyboard actions get none
P1Hero is blank on first paint behind an entrance animation