Design Grading Rubric
Detailed scoring criteria for evaluating web UI design quality from a world-class designer perspective.
Scoring Philosophy
Goal: Identify designs that are distinctive, intentional, and memorable.
Key Principle: Bold maximalism and refined minimalism both work. The differentiator is intentionality, not intensity. Generic, safe, predictable design always fails.
Dimension 1: Typography (20%)
Score 9-10: Exceptional
- Distinctive, memorable font pairing (display + body)
- Perfect typographic hierarchy (H1 > H2 > H3 > body clearly distinct)
- Intentional font weights creating rhythm (300, 400, 600, 800)
- Line-height optimized per context (1.2 headings, 1.6 body)
- Letter-spacing refined for large text
- Type scale following mathematical ratio (1.25 or 1.333)
Score 7-8: Good
- Non-generic fonts with clear character
- Clear hierarchy with 3+ distinct levels
- Good weight variation
- Readable line-height
- Minor refinement opportunities
Score 5-6: Acceptable
- Somewhat generic but not default fonts
- Basic hierarchy present but weak
- Limited weight usage (2 weights)
- Acceptable but not optimized line-height
Score 3-4: Poor
- Default/system fonts (Inter, Roboto, Arial, sans-serif)
- Weak or inconsistent hierarchy
- Single font weight throughout
- Line-height issues affecting readability
Score 1-2: Failing
- Browser defaults visible
- No hierarchy
- Unreadable text
- Accessibility failures
Typography Anti-Patterns
| Pattern |
Score Impact |
Detection |
font-family: Inter |
-3 |
Direct CSS match |
font-family: Roboto |
-3 |
Direct CSS match |
font-family: Arial |
-3 |
Direct CSS match |
font-family: system-ui |
-2 |
Lazy default |
Single font-weight value |
-2 |
No variation |
line-height: 1 or 1.2 for body |
-1 |
Too tight |
No font-weight on headings |
-1 |
Missing emphasis |
Dimension 2: Color & Contrast (15%)
Score 9-10: Exceptional
- Unique, memorable color palette
- Perfect WCAG AAA contrast (7:1+)
- Intentional color roles (primary, secondary, accent)
- Color creates mood/emotion
- Masterful use of neutrals
- Dark/light modes both excellent
Score 7-8: Good
- Non-generic color choices
- WCAG AA compliant (4.5:1)
- Clear color system
- Good accent usage
- Minor contrast issues in non-critical areas
Score 5-6: Acceptable
- Somewhat generic but functional
- Mostly AA compliant
- Basic color differentiation
- Missing accent or too many accents
Score 3-4: Poor
- Generic palettes (blue/purple gradient cliches)
- Some contrast failures
- Competing colors without hierarchy
- No clear system
Score 1-2: Failing
- Major contrast failures
- Unreadable combinations
- No intentional palette
Color Anti-Patterns
| Pattern |
Score Impact |
Detection |
| Purple-to-blue gradient on white |
-3 |
AI aesthetic cliche |
| Contrast < 4.5:1 on text |
-3 |
WCAG AA failure |
| Contrast < 3:1 on large text |
-2 |
WCAG failure |
| 5+ competing accent colors |
-2 |
Visual chaos |
| No accent color at all |
-1 |
Flat, boring |
| Pure black (#000) on white (#fff) |
-1 |
Harsh, unrefined |
Dimension 3: Layout & Spacing (20%)
Score 9-10: Exceptional
- Unexpected, memorable composition
- Intentional asymmetry or perfect symmetry (never accidental)
- Grid-breaking elements that create interest
- Perfect rhythm in spacing
- Generous negative space used meaningfully
- Visual flow guides the eye
Score 7-8: Good
- Interesting layout choices
- Good spacing rhythm
- Some unexpected elements
- Clear visual hierarchy through space
- Minor alignment issues
Score 5-6: Acceptable
- Standard but clean layouts
- Consistent spacing
- Predictable but functional
- No visual interest
Score 3-4: Poor
- Cookie-cutter grid layouts
- Inconsistent spacing
- Cramped or too sparse
- No rhythm or intention
Score 1-2: Failing
- Broken layouts
- Overlapping content
- Unusable spacing
Layout Anti-Patterns
| Pattern |
Score Impact |
Detection |
| 12-column grid with no breaks |
-2 |
Predictable |
| Equal spacing everywhere (all 16px) |
-2 |
No rhythm |
| Cards in perfect 3x3 grid |
-2 |
Cookie-cutter |
| No margin on container |
-2 |
Cramped |
| Centered everything |
-1 |
Safe/boring |
| No max-width on text |
-1 |
Hard to read |
Dimension 4: Motion & Interaction (15%)
Score 9-10: Exceptional
- Meaningful, purposeful animations
- Perfect timing and easing
- Micro-interactions that delight
- Page transitions that guide
- Motion reinforces hierarchy
- No gratuitous animation
Score 7-8: Good
- CSS transitions on interactive elements
- Good hover states
- Some entrance animations
- Appropriate duration (150-300ms)
Score 5-6: Acceptable
- Basic hover states
- Simple transitions
- Nothing broken but nothing special
Score 3-4: Poor
- Missing hover states
- No transitions (instant state changes)
- Jarring interactions
Score 1-2: Failing
- Broken interactions
- Inaccessible motion
- No feedback on actions
Motion Anti-Patterns
| Pattern |
Score Impact |
Detection |
No transition on buttons |
-2 |
Jarring clicks |
| No hover state changes |
-2 |
Dead feeling |
transition: all (lazy) |
-1 |
Performance issue |
| Duration > 500ms |
-1 |
Feels slow |
| Duration < 100ms |
-1 |
Too abrupt |
| No focus states |
-2 |
Accessibility |
Dimension 5: Visual Polish (15%)
Score 9-10: Exceptional
- Rich visual depth and texture
- Masterful use of shadows
- Subtle gradients and overlays
- Refined borders and dividers
- Attention to every detail
- Cohesive visual language
Score 7-8: Good
- Good use of shadows for depth
- Some texture or gradient
- Clean borders
- Polished feel overall
Score 5-6: Acceptable
- Basic shadows present
- Functional but flat
- Standard borders
- Missing refinement
Score 3-4: Poor
- Flat solid backgrounds
- No shadows or depth
- Harsh borders or none
- Unpolished details
Score 1-2: Failing
- Visually broken
- Clashing styles
- No cohesion
Polish Anti-Patterns
| Pattern |
Score Impact |
Detection |
background: #fff (pure flat) |
-2 |
No atmosphere |
No box-shadow on cards |
-2 |
Flat, no depth |
border: 1px solid #ccc |
-1 |
Generic, lazy |
border-radius: 0 everywhere |
-1 |
Harsh |
| No background variation |
-1 |
Monotonous |
Dimension 6: Accessibility (15%)
Score 9-10: Exceptional
- WCAG AAA compliant
- Perfect keyboard navigation
- Excellent screen reader support
- Skip links and landmarks
- Reduced motion support
- Focus visible on all elements
Score 7-8: Good
- WCAG AA compliant
- Keyboard accessible
- Proper focus indicators
- Good semantic HTML
- ARIA where needed
Score 5-6: Acceptable
- Mostly AA compliant
- Basic keyboard support
- Some focus indicators
- Minor issues
Score 3-4: Poor
- Contrast failures
- Missing focus states
- Keyboard traps
- Poor semantics
Score 1-2: Failing
- Major accessibility barriers
- Unusable without mouse
- Critical WCAG failures
Accessibility Anti-Patterns
| Pattern |
Score Impact |
Detection |
| No visible focus indicator |
-3 |
:focus-visible missing |
outline: none without replacement |
-3 |
Focus removed |
Non-semantic buttons (div onclick) |
-2 |
Inaccessible |
| Images without alt text |
-2 |
Screen reader fail |
| Low contrast text |
-3 |
WCAG failure |
| No skip link |
-1 |
Keyboard navigation |
Overall Score Calculation
Overall = (Typography × 0.20) +
(Color × 0.15) +
(Layout × 0.20) +
(Motion × 0.15) +
(Polish × 0.15) +
(Accessibility × 0.15)
Pass/Fail Thresholds
| Dimension |
Pass Threshold |
Critical Threshold |
| Typography |
>= 6 |
< 4 blocks overall pass |
| Color |
>= 6 |
< 4 blocks overall pass |
| Layout |
>= 6 |
< 4 blocks overall pass |
| Motion |
>= 5 |
< 3 blocks overall pass |
| Polish |
>= 5 |
< 3 blocks overall pass |
| Accessibility |
>= 7 |
< 5 blocks overall pass |
Overall Pass: Score >= 8.0 AND no dimension below critical threshold
Quick Reference Card
What Makes a 10/10?
- Typography: Distinctive fonts, perfect hierarchy
- Color: Unique palette, AAA contrast
- Layout: Memorable composition, intentional space
- Motion: Purposeful, delightful micro-interactions
- Polish: Rich depth, refined details
- Accessibility: Exceeds WCAG AA
What Makes a 5/10?
- Typography: Generic but readable
- Color: Functional, AA compliant
- Layout: Standard grid, predictable
- Motion: Basic hover states
- Polish: Flat but clean
- Accessibility: Mostly compliant
What Makes a 2/10?
- Typography: Browser defaults, no hierarchy
- Color: Contrast failures, no system
- Layout: Broken or unusable
- Motion: No feedback, jarring
- Polish: Visually broken
- Accessibility: Major barriers
1---2name: design-grading-rubric3description: Detailed scoring criteria for evaluating web UI design quality from a world-class designer perspective.4---5# Design Grading Rubric67Detailed scoring criteria for evaluating web UI design quality from a world-class designer perspective.89## Scoring Philosophy1011**Goal**: Identify designs that are distinctive, intentional, and memorable.1213**Key Principle**: Bold maximalism and refined minimalism both work. The differentiator is **intentionality**, not intensity. Generic, safe, predictable design always fails.1415---1617## Dimension 1: Typography (20%)1819### Score 9-10: Exceptional20- Distinctive, memorable font pairing (display + body)21- Perfect typographic hierarchy (H1 > H2 > H3 > body clearly distinct)22- Intentional font weights creating rhythm (300, 400, 600, 800)23- Line-height optimized per context (1.2 headings, 1.6 body)24- Letter-spacing refined for large text25- Type scale following mathematical ratio (1.25 or 1.333)2627### Score 7-8: Good28- Non-generic fonts with clear character29- Clear hierarchy with 3+ distinct levels30- Good weight variation31- Readable line-height32- Minor refinement opportunities3334### Score 5-6: Acceptable35- Somewhat generic but not default fonts36- Basic hierarchy present but weak37- Limited weight usage (2 weights)38- Acceptable but not optimized line-height3940### Score 3-4: Poor41- Default/system fonts (Inter, Roboto, Arial, sans-serif)42- Weak or inconsistent hierarchy43- Single font weight throughout44- Line-height issues affecting readability4546### Score 1-2: Failing47- Browser defaults visible48- No hierarchy49- Unreadable text50- Accessibility failures5152### Typography Anti-Patterns5354| Pattern | Score Impact | Detection |55|---------|--------------|-----------|56| `font-family: Inter` | -3 | Direct CSS match |57| `font-family: Roboto` | -3 | Direct CSS match |58| `font-family: Arial` | -3 | Direct CSS match |59| `font-family: system-ui` | -2 | Lazy default |60| Single `font-weight` value | -2 | No variation |61| `line-height: 1` or `1.2` for body | -1 | Too tight |62| No `font-weight` on headings | -1 | Missing emphasis |6364---6566## Dimension 2: Color & Contrast (15%)6768### Score 9-10: Exceptional69- Unique, memorable color palette70- Perfect WCAG AAA contrast (7:1+)71- Intentional color roles (primary, secondary, accent)72- Color creates mood/emotion73- Masterful use of neutrals74- Dark/light modes both excellent7576### Score 7-8: Good77- Non-generic color choices78- WCAG AA compliant (4.5:1)79- Clear color system80- Good accent usage81- Minor contrast issues in non-critical areas8283### Score 5-6: Acceptable84- Somewhat generic but functional85- Mostly AA compliant86- Basic color differentiation87- Missing accent or too many accents8889### Score 3-4: Poor90- Generic palettes (blue/purple gradient cliches)91- Some contrast failures92- Competing colors without hierarchy93- No clear system9495### Score 1-2: Failing96- Major contrast failures97- Unreadable combinations98- No intentional palette99100### Color Anti-Patterns101102| Pattern | Score Impact | Detection |103|---------|--------------|-----------|104| Purple-to-blue gradient on white | -3 | AI aesthetic cliche |105| Contrast < 4.5:1 on text | -3 | WCAG AA failure |106| Contrast < 3:1 on large text | -2 | WCAG failure |107| 5+ competing accent colors | -2 | Visual chaos |108| No accent color at all | -1 | Flat, boring |109| Pure black (#000) on white (#fff) | -1 | Harsh, unrefined |110111---112113## Dimension 3: Layout & Spacing (20%)114115### Score 9-10: Exceptional116- Unexpected, memorable composition117- Intentional asymmetry or perfect symmetry (never accidental)118- Grid-breaking elements that create interest119- Perfect rhythm in spacing120- Generous negative space used meaningfully121- Visual flow guides the eye122123### Score 7-8: Good124- Interesting layout choices125- Good spacing rhythm126- Some unexpected elements127- Clear visual hierarchy through space128- Minor alignment issues129130### Score 5-6: Acceptable131- Standard but clean layouts132- Consistent spacing133- Predictable but functional134- No visual interest135136### Score 3-4: Poor137- Cookie-cutter grid layouts138- Inconsistent spacing139- Cramped or too sparse140- No rhythm or intention141142### Score 1-2: Failing143- Broken layouts144- Overlapping content145- Unusable spacing146147### Layout Anti-Patterns148149| Pattern | Score Impact | Detection |150|---------|--------------|-----------|151| 12-column grid with no breaks | -2 | Predictable |152| Equal spacing everywhere (all 16px) | -2 | No rhythm |153| Cards in perfect 3x3 grid | -2 | Cookie-cutter |154| No margin on container | -2 | Cramped |155| Centered everything | -1 | Safe/boring |156| No max-width on text | -1 | Hard to read |157158---159160## Dimension 4: Motion & Interaction (15%)161162### Score 9-10: Exceptional163- Meaningful, purposeful animations164- Perfect timing and easing165- Micro-interactions that delight166- Page transitions that guide167- Motion reinforces hierarchy168- No gratuitous animation169170### Score 7-8: Good171- CSS transitions on interactive elements172- Good hover states173- Some entrance animations174- Appropriate duration (150-300ms)175176### Score 5-6: Acceptable177- Basic hover states178- Simple transitions179- Nothing broken but nothing special180181### Score 3-4: Poor182- Missing hover states183- No transitions (instant state changes)184- Jarring interactions185186### Score 1-2: Failing187- Broken interactions188- Inaccessible motion189- No feedback on actions190191### Motion Anti-Patterns192193| Pattern | Score Impact | Detection |194|---------|--------------|-----------|195| No `transition` on buttons | -2 | Jarring clicks |196| No hover state changes | -2 | Dead feeling |197| `transition: all` (lazy) | -1 | Performance issue |198| Duration > 500ms | -1 | Feels slow |199| Duration < 100ms | -1 | Too abrupt |200| No focus states | -2 | Accessibility |201202---203204## Dimension 5: Visual Polish (15%)205206### Score 9-10: Exceptional207- Rich visual depth and texture208- Masterful use of shadows209- Subtle gradients and overlays210- Refined borders and dividers211- Attention to every detail212- Cohesive visual language213214### Score 7-8: Good215- Good use of shadows for depth216- Some texture or gradient217- Clean borders218- Polished feel overall219220### Score 5-6: Acceptable221- Basic shadows present222- Functional but flat223- Standard borders224- Missing refinement225226### Score 3-4: Poor227- Flat solid backgrounds228- No shadows or depth229- Harsh borders or none230- Unpolished details231232### Score 1-2: Failing233- Visually broken234- Clashing styles235- No cohesion236237### Polish Anti-Patterns238239| Pattern | Score Impact | Detection |240|---------|--------------|-----------|241| `background: #fff` (pure flat) | -2 | No atmosphere |242| No `box-shadow` on cards | -2 | Flat, no depth |243| `border: 1px solid #ccc` | -1 | Generic, lazy |244| `border-radius: 0` everywhere | -1 | Harsh |245| No background variation | -1 | Monotonous |246247---248249## Dimension 6: Accessibility (15%)250251### Score 9-10: Exceptional252- WCAG AAA compliant253- Perfect keyboard navigation254- Excellent screen reader support255- Skip links and landmarks256- Reduced motion support257- Focus visible on all elements258259### Score 7-8: Good260- WCAG AA compliant261- Keyboard accessible262- Proper focus indicators263- Good semantic HTML264- ARIA where needed265266### Score 5-6: Acceptable267- Mostly AA compliant268- Basic keyboard support269- Some focus indicators270- Minor issues271272### Score 3-4: Poor273- Contrast failures274- Missing focus states275- Keyboard traps276- Poor semantics277278### Score 1-2: Failing279- Major accessibility barriers280- Unusable without mouse281- Critical WCAG failures282283### Accessibility Anti-Patterns284285| Pattern | Score Impact | Detection |286|---------|--------------|-----------|287| No visible focus indicator | -3 | :focus-visible missing |288| `outline: none` without replacement | -3 | Focus removed |289| Non-semantic buttons (`div onclick`) | -2 | Inaccessible |290| Images without alt text | -2 | Screen reader fail |291| Low contrast text | -3 | WCAG failure |292| No skip link | -1 | Keyboard navigation |293294---295296## Overall Score Calculation297298```299Overall = (Typography × 0.20) +300 (Color × 0.15) +301 (Layout × 0.20) +302 (Motion × 0.15) +303 (Polish × 0.15) +304 (Accessibility × 0.15)305```306307## Pass/Fail Thresholds308309| Dimension | Pass Threshold | Critical Threshold |310|-----------|----------------|-------------------|311| Typography | >= 6 | < 4 blocks overall pass |312| Color | >= 6 | < 4 blocks overall pass |313| Layout | >= 6 | < 4 blocks overall pass |314| Motion | >= 5 | < 3 blocks overall pass |315| Polish | >= 5 | < 3 blocks overall pass |316| Accessibility | >= 7 | < 5 blocks overall pass |317318**Overall Pass**: Score >= 8.0 AND no dimension below critical threshold319320---321322## Quick Reference Card323324### What Makes a 10/10?325- Typography: Distinctive fonts, perfect hierarchy326- Color: Unique palette, AAA contrast327- Layout: Memorable composition, intentional space328- Motion: Purposeful, delightful micro-interactions329- Polish: Rich depth, refined details330- Accessibility: Exceeds WCAG AA331332### What Makes a 5/10?333- Typography: Generic but readable334- Color: Functional, AA compliant335- Layout: Standard grid, predictable336- Motion: Basic hover states337- Polish: Flat but clean338- Accessibility: Mostly compliant339340### What Makes a 2/10?341- Typography: Browser defaults, no hierarchy342- Color: Contrast failures, no system343- Layout: Broken or unusable344- Motion: No feedback, jarring345- Polish: Visually broken346- Accessibility: Major barriers