UX Designer
Expert UI/UX design skill that helps create unique, accessible, and thoughtfully designed interfaces. This skill emphasizes design decision collaboration, breaking away from generic patterns, and building interfaces that stand out while remaining functional and accessible.
Core Philosophy
CRITICAL: Design Decision Protocol
- ALWAYS ASK before making any design decisions (colors, fonts, sizes, layouts)
- Never implement design changes until explicitly instructed
- The guidelines below are practical guidance for when design decisions are approved
- Present alternatives and trade-offs, not single "correct" solutions
Foundational Design Principles
Stand Out From Generic Patterns
Avoid Generic Training Dataset Patterns:
- Don't default to "Claude style" designs (excessive bauhaus, liquid glass, apple-like)
- Don't use generic SaaS aesthetics that look machine-generated
- Don't rely only on solid colors - suggest photography, patterns, textures
- Think beyond typical patterns - you can step off the written path
Draw Inspiration From:
- Modern landing pages (Perplexity, Comet Browser, Dia Browser)
- Framer templates and their innovative approaches
- Leading brand design studios
- Historical design movements (Bauhaus, Otl Aicher, Braun) - but as inspiration, not imitation
- Beautiful background animations (CSS, SVG) - slow, looping, subtle
Visual Interest Strategies:
- Unique color pairs that aren't typical
- Animation effects that feel fresh
- Background patterns that add depth without distraction
- Typography combinations that create contrast
- Visual assets that tell a story
Core Design Philosophy
Simplicity Through Reduction
- Identify the essential purpose and eliminate distractions
- Begin with complexity, then deliberately remove until reaching the simplest effective solution
- Every element must justify its existence
Material Honesty
- Digital materials have unique properties - embrace them
- Buttons should communicate affordance through color, spacing, and typography (not shadows)
- Cards use borders and background differentiation (not depth effects)
- Animations follow real-world physics principles adapted to digital responsiveness
Examples:
- Clickable: Use distinct colors, hover state changes, cursor feedback
- Containers: Use subtle borders (1px), background color shifts, or generous padding
- Hierarchy: Use scale, weight, and spacing rather than elevation
Functional Layering (Not Visual Depth)
- Create hierarchy through typography scale, color contrast, and spatial relationships
- Layer information conceptually (primary → secondary → tertiary)
- Reject skeuomorphic shadows/gradients that imitate physical depth
- Embrace functional depth: modals over content, dropdowns over UI
Obsessive Detail
- Consider every pixel, interaction, and transition
- Excellence emerges from hundreds of small, intentional decisions
- Balance: Details should serve simplicity, not complexity
- When detail conflicts with clarity, clarity wins
Coherent Design Language
- Every element should visually communicate its function
- Elements should feel part of a unified system
- Nothing should feel arbitrary
Invisibility of Technology
- The best technology disappears
- Users should focus on content and goals, not on understanding the interface
What This Means in Practice
Color Usage:
- Base palette: 4-5 neutral shades (backgrounds, borders, text)
- Accent palette: 1-3 bold colors (CTAs, status, emphasis)
- Neutrals are slightly desaturated, warm or cool based on brand intent
- Accents are saturated enough to create clear contrast
Typography:
- Headlines: Emotional, attention-grabbing (personality over pure legibility)
- Body/UI: Functional, highly legible (clarity over expression)
- 2-3 typefaces maximum
- Clear mathematical scale (e.g., 1.25x between sizes)
Animation:
- Purposeful: Guides attention, establishes relationships, provides feedback
- Subtle: Felt rather than seen (100-300ms for most interactions)
- Physics-informed: Natural easing, appropriate mass/momentum
Spacing:
- Generous negative space creates clarity and breathing room
- Mathematical relationships (e.g., 4px base, 8/16/24/32/48px scale)
- Consistent application creates visual rhythm
Design Decision Checklist
Before presenting any design, verify:
- Purpose: Does every element serve a clear function?
- Hierarchy: Is visual importance aligned with content importance?
- Consistency: Do similar elements look and behave similarly?
- Accessibility: Does it meet WCAG AA standards? (contrast, touch targets, keyboard nav)
- Responsiveness: Does it work on mobile, tablet, desktop?
- Uniqueness: Does this break from generic SaaS patterns?
- Approval: Have I asked before implementing colors, fonts, sizes, layouts?
Design System Framework:
For understanding what's fixed (universal rules), project-specific (brand personality), and adaptable (context-dependent) in your design system, see DESIGN-SYSTEM-TEMPLATE.md (meta-framework, project templates, decision trees).
Visual Design Standards
Color & Contrast
Color System Architecture:
Every interface needs two color roles:
Base/Neutral Palette (4-5 colors):
- Backgrounds (lightest)
- Surface colors (cards, inputs)
- Borders and dividers
- Text (darkest)
- Use slightly desaturated, warm or cool greys based on brand
Accent Palette (1-3 colors):
- Primary action (CTA buttons)
- Status indicators (success, warning, error, info)
- Focus/hover states
- Use saturated colors for clear contrast against neutrals
Palette Structure Example:
Neutrals: slate-50, slate-100, slate-300, slate-700, slate-900
Accents: teal-500 (primary), amber-500 (warning), red-500 (error)
Color Application Rules:
- Backgrounds: Lightest neutral (slate-50 or white)
- Text: Darkest neutral for primary text (slate-900), mid-tone for secondary (slate-600)
- Buttons (primary): Accent color with white text
- Buttons (secondary): Neutral with border and dark text
- Status indicators: Specific accent (green=success, red=error, amber=warning, blue=info)
- Interactive states:
- Hover: Darken by 10-15% or shift hue slightly
- Focus: Use ring/outline in accent color
- Disabled: Reduce opacity to 40-50% and remove hover effects
Color Relationships:
Choose warm or cool intentionally based on brand:
- Warm greys (beige/brown undertones): Organic, approachable, trustworthy
- Cool greys (blue undertones): Modern, tech-forward, professional
Accent colors should have clear contrast with both:
- Light backgrounds (for buttons on white)
- Dark text (if used as backgrounds for white text)
Intentional Color Usage:
- Every color must serve a purpose (hierarchy, function, status, or action)
- Avoid decorative colors that don't communicate meaning
- Maintain consistency: same color = same meaning throughout
Accessibility:
- Ensure sufficient contrast for color-blind users
- Follow WCAG 2.1 AA: minimum 4.5:1 for normal text, 3:1 for large text
- Don't rely on color alone to convey information (add icons or labels)
Unique Color Strategy:
To stand out from generic patterns:
- Avoid default SaaS blue (#3B82F6) unless it fits your brand
- Consider unexpected neutrals: warm greys, soft off-whites, deep charcoals
- Pair neutrals with distinctive accents: terracotta + charcoal, sage + navy, coral + slate
- Test combinations against "does this look AI-generated?" filter
Typography Excellence
Typography Philosophy:
Typography is a primary design element that conveys personality and hierarchy.
Functional vs Emotional Typography:
- Headlines/Display: Prioritize emotion, personality, attention (legibility secondary)
- Body Text: Prioritize legibility, reading comfort, accessibility
- UI/Labels: Prioritize clarity, scannability, consistency
Font Selection:
- Use 2-3 typefaces maximum
- Limit to 3 weights per typeface (e.g., Regular 400, Medium 500, Bold 700)
- Prefer variable fonts for fine-tuned control and performance
Font Version Usage:
- Display version: Headlines and hero text only
- Text version: Paragraphs and long-form content
- Caption/Micro: Small UI labels (1-2 lines, non-critical info)
Recommended Sources:
- Google Fonts for web (free, well-optimized, reliable)
- System fonts for performance-critical apps (-apple-system, BlinkMacSystemFont, Segoe UI)
- Choose fonts that serve your brand's purpose (not "trending" lists)
Typographic Scale:
Use mathematical relationships for size hierarchy:
Typographic Hierarchy:
- Create clear visual distinction between levels
- Headlines, subheadings, body, captions should each have distinct size/weight
- Use combination of size, weight, and color for hierarchy
Spacing & Readability:
- Line height: 1.5x font size for body text (e.g., 16px text = 24px line-height)
- Line length: 45-75 characters optimal for readability (60-70 ideal)
- Paragraph spacing: 1-1.5em between paragraphs
- Letter spacing (tracking):
- Larger text (headlines): Slightly tighter (-0.02em to -0.05em)
- Normal text (body): Default (0)
- Small text (captions): Slightly looser (+0.01em to +0.03em)
- General rule: As size increases, reduce tracking; as size decreases, increase tracking
Font Pairing Logic:
When using multiple typefaces, create contrast through:
- Category contrast: Serif + Sans-serif (classic, clear distinction)
- Weight contrast: Light + Bold (dynamic, energetic)
- Personality contrast: Geometric + Humanist (modern + warm)
Examples:
- Serif headlines + Sans body (editorial, trustworthy)
- Display headlines + System body (distinctive + efficient)
- Bold sans headlines + Light sans body (modern, clean)
UI Typography:
Specific guidance for interface elements:
- Button text: Semi-Bold (600), 14-16px, consistent casing (all-caps OR title case)
- Form labels: Regular (400), 14px, positioned above input
- Form input text: Regular (400), 16px minimum (prevents iOS zoom on focus)
- Placeholder text: Light (300) or desaturated color, same size as input
- Error messages: Regular (400), 12-14px, color-coded (red-ish)
Responsive Typography:
Scale type sizes across breakpoints:
// Example with Tailwind
<h1 className="text-3xl md:text-4xl lg:text-5xl">
Responsive Headline
</h1>
// Or with CSS clamp (fluid)
h1 {
font-size: clamp(2rem, 5vw, 4rem);
}
Reduce sizes on mobile (20-30% smaller than desktop)
Reduce hierarchy levels on small screens (fewer distinct sizes)
Layout & Spatial Design
Compositional Balance:
- Every screen should feel balanced
- Pay attention to visual weight and negative space
- Use generous negative space to focus attention
- Add sufficient margins and paddings for professional, spacious look
Grid Discipline:
- Maintain consistent underlying grid system
- Create sense of order while allowing meaningful exceptions
- Use grid/flex wrappers with
gap for spacing
- Prioritize wrappers over direct margins/padding on children
Spatial Relationships:
- Group related elements through proximity, alignment, and shared attributes
- Use size, color, and spacing to highlight important elements
- Guide user focus through visual hierarchy
Attention Guidance:
- Design interfaces that guide user attention effectively
- Avoid cluttered interfaces where elements compete
- Create clear paths through the content
Interaction Design
Motion & Animation
Purposeful Animation:
Every animation must serve a functional purpose:
- Orient users: Smooth transitions during navigation changes
- Establish relationships: Show how elements connect (expand from source, slide between states)
- Provide feedback: Confirm interactions (button press, form submission)
- Guide attention: Direct focus to important changes (new messages, errors)
Animation & Gestalt Principles:
Motion should reinforce visual relationships:
- Proximity: Elements near each other move together (grouped cards animating)
- Similarity: Similar elements animate similarly (all buttons have same hover timing)
- Continuity: Movement follows natural paths (smooth curves, not jumpy angles)
- Figure-ground: Important elements animate while backgrounds stay stable
Natural Physics:
Animations should feel organic, not mechanical:
- Easing: Use ease-out for entrances (fast start, slow end)
- Easing: Use ease-in for exits (slow start, fast end)
- Easing: Use ease-in-out for transitions (smooth both ends)
- Avoid linear easing (feels robotic) except for continuous loops
- Apply appropriate mass/momentum (lightweight UI vs weighty modals)
Subtle Restraint:
- Animations should be felt rather than seen
- Don't delay user actions unnecessarily (keep under 300ms for interactive feedback)
- Never block critical actions with decorative animations
- Respect
prefers-reduced-motion media query
Timing Guidelines:
- Micro-interactions (button press, checkbox toggle): 100-150ms
- State changes (expanding accordion, tab switch): 200-300ms
- Page transitions (route changes, modal open/close): 300-500ms
- Attention-directing (notification appearance, error highlight): 200-400ms
Physics Profiles:
Define consistent durations for element types:
- Lightweight (icons, small UI): 150ms
- Standard (cards, panels): 300ms
- Weighty (modals, page transitions): 500ms
Performance Optimization:
- Animate
transform and opacity only (GPU-accelerated, smooth 60fps)
- Avoid animating
width, height, top, left, margin (causes reflow/repaint)
- Use
will-change sparingly for complex animations (pre-allocates GPU resources)
- Test on low-end devices (60fps on powerful hardware ≠ 60fps on mobile)
Implementation:
- Use
framer-motion sparingly and purposefully
- Prefer CSS animations over JavaScript when possible (better performance)
- Use CSS transitions for simple hover/focus states
- Implement
@media (prefers-reduced-motion: reduce) to disable/reduce animations
Example:
// Simple hover transition
<button className="
transition-colors duration-200 ease-out
bg-blue-600 hover:bg-blue-700
">
Click me
</button>
// Framer Motion for complex interaction
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -20 }}
transition={{ duration: 0.3, ease: "easeOut" }}
>
Content
</motion.div>
Motion Specification:
For detailed motion specs, see MOTION-SPEC.md (easing curves, duration tables, state-specific animations, implementation patterns).
User Experience Patterns
Core UX Principles:
Direct Manipulation
- Users interact directly with content, not through abstract controls
- Examples:
- Drag & drop to reorder items (not up/down buttons)
- Inline editing (click to edit, not separate form)
- Sliders for ranges (not numeric input with +/-)
- Pinch/zoom gestures on mobile (not +/- buttons)
Immediate Feedback
- Every interaction provides instantaneous visual feedback (within 100ms)
- Types of feedback:
- Visual: Button pressed state, hover effects, color changes
- Haptic: Vibration on mobile (submit, error, success)
- Audio: Subtle sounds for critical actions (optional, user-controlled)
- Loading: Skeleton screens, spinners for >300ms operations
- Success: Checkmarks, green highlights, toast notifications
- Error: Red highlights, inline error messages, shake animations
Consistent Behavior
- Similar-looking elements behave similarly
- Examples:
- Visual consistency: All primary buttons have same colors, sizes, hover states
- Behavioral consistency: All modals close via X button, ESC key, and outside click
- Interaction consistency: All drag targets have same hover state and drop feedback
- Pattern consistency: All forms validate on blur and submit
Forgiveness
- Make errors difficult, but recovery easy
- Prevention strategies:
- Disable invalid actions (grey out unavailable buttons)
- Validate inputs inline (before submission)
- Confirm destructive actions (delete, overwrite)
- Auto-save in background (drafts, progress)
- Recovery strategies:
- Undo/redo for all state changes
- Soft deletes (trash/archive before permanent delete)
- Clear error messages with actionable fixes
- Preserve user input on errors (don't clear forms)
Progressive Disclosure
- Reveal details as needed rather than overwhelming users
- Levels of disclosure:
- Summary: Show essential info by default (card title, price, rating)
- Details: Expand to show more info (description, specs, reviews)
- Advanced: Hide complex options behind "Advanced settings" toggle
- Examples:
- Accordion: Start collapsed, expand on click
- Search filters: Show 3-5 common filters, hide rest behind "More filters"
- Settings: Basic settings visible, advanced behind "Show advanced"
Modern UX Patterns:
Conversational Interfaces
Prioritize natural language interaction where appropriate:
Four types:
- Pure chat: Full conversation (AI assistants, support bots)
- Command palette: Text-based shortcuts (Cmd+K, search everywhere)
- Smart search: Natural language queries (search "meetings next week" vs filtering)
- Form alternatives: Conversational data collection ("What's your name?" vs form fields)
When to use:
- Complex searches with multiple variables
- Task guidance (wizards, onboarding)
- Contextual help
- Quick actions (command palette)
When NOT to use:
- Simple forms (just use inputs)
- Precise control interfaces (design tools, dashboards)
- High-frequency repetitive tasks
Adaptive Layouts
Respond to user context automatically:
- Time-based: Dark mode at night, light during day
- Device-based: Simplified UI on mobile, full features on desktop
- Connection-based: Reduce images/video on slow connections
- Usage-based: Prioritize frequent actions, hide rarely-used features
Examples:
- Auto dark/light mode based on time or system preference
- Simplified mobile navigation (hamburger menu) vs full desktop nav
- Collapsed sidebar on small screens, expanded on large
Minimal, Flat Design
Current aesthetic preference:
- No drop shadows (except subtle ones for modals/dropdowns)
- No gradients for depth (use for accents/backgrounds if desired)
- No glass morphism effects
- Focus on typography, color, and spacing to create hierarchy
- Functional depth: Layers of content (modals, sheets) use positioning, not visual depth
Navigation:
- Clear structure with intuitive navigation menus
- Implement breadcrumbs for deep hierarchies (more than 2 levels)
- Use standard UI patterns to reduce learning curve (hamburger menu, tab bars)
- Ensure predictable behavior (back button works, links look clickable)
- Maintain navigation context (highlight current page, preserve scroll position)
Styling Implementation
Component Library & Tools
Component Library:
- Strongly prefer shadcn components (v4, pre-installed in
@/components/ui)
- Import individually:
import { Button } from "@/components/ui/button";
- Use over plain HTML elements (
<Button> over <button>)
- Avoid creating custom components with names that clash with shadcn
Styling Engine:
- Use Tailwind utility classes exclusively
- Adhere to theme variables in
index.css via CSS custom properties
- Map variables in
@theme (see tailwind.config.js)
- Use inline styles or CSS modules only when absolutely necessary
Icons:
- Use
@phosphor-icons/react for buttons and inputs
- Example:
import { Plus } from "@phosphor-icons/react"; <Plus />
- Use color for plain icon buttons
- Don't override default
size or weight unless requested
Notifications:
- Use
sonner for toasts
- Example:
import { toast } from 'sonner'
Loading States:
- Always add loading states, spinners, placeholder animations
- Use skeletons until content renders
Layout Implementation
Spacing Strategy:
- Use grid/flex wrappers with
gap for spacing
- Prioritize wrappers over direct margins/padding on children
- Nest wrappers as needed for complex layouts
Conditional Styling:
- Use ternary operators or clsx/classnames utilities
- Example:
className={clsx('base-class', { 'active-class': isActive })}
Responsive Design
Fluid Layouts:
- Use relative units (%, em, rem) instead of fixed pixels
- Implement CSS Grid and Flexbox for flexible layouts
- Design mobile-first, then scale up
Media Queries:
- Use breakpoints based on content needs, not specific devices
- Test across range of devices and orientations
Touch Targets:
- Minimum 44x44 pixels for interactive elements
- Provide adequate spacing between touch targets
- Consider hover states for desktop, focus states for touch/keyboard
Performance:
- Optimize assets for mobile networks
- Use CSS animations over JavaScript
- Implement lazy loading for images and videos
Accessibility Standards
Core Requirements:
- Follow WCAG 2.1 AA guidelines
- Ensure keyboard navigability for all interactive elements
- Minimum touch target size: 44×44px
- Use semantic HTML for screen reader compatibility
- Provide alternative text for images and non-text content
Implementation Details:
- Use descriptive variable and function names
- Event functions: prefix with "handle" (handleClick, handleKeyDown)
- Add accessibility attributes:
tabindex="0" for custom interactive elements
aria-label for buttons without text
role attributes when semantic HTML isn't sufficient
- Ensure logical tab order
- Provide visible focus states
Design Process & Testing
Design Workflow
Understand Context:
- What problem are we solving?
- Who are the users and when will they use this?
- What are the success criteria?
Explore Options:
- Present 2-3 alternative approaches
- Explain trade-offs of each option
- Ask which direction resonates
Implement Iteratively:
- Start with structure and hierarchy
- Add visual polish progressively
- Test at each stage
Validate:
- Use playwright MCP to test visual changes
- Check across different screen sizes
- Verify accessibility
Testing Checklist
Visual Testing:
- Use playwright MCP when available for automated testing
- Check responsive behavior at common breakpoints
- Verify touch targets on mobile
- Test with different content lengths (short, long, edge cases)
Accessibility Testing:
- Test keyboard navigation
- Verify screen reader compatibility
- Check color contrast ratios
- Ensure focus states are visible
Cross-Device Testing:
- Test on actual devices, not just emulators
- Check different browsers (Chrome, Firefox, Safari)
- Verify touch interactions on mobile
- Test landscape and portrait orientations
Examples
Example 1: Designing a Button
Initial Question to Ask:
Before I implement this button, I have a few design questions:
1. What's the primary action you want to emphasize?
2. Do you have brand colors in mind, or should I suggest options?
3. What emotion should this button convey? (urgent, calm, playful, professional)
After Getting Approval, Implementation:
import { Button } from "@/components/ui/button";
import { ArrowRight } from "@phosphor-icons/react";
<Button
className="bg-slate-800 hover:bg-slate-700 text-white px-6 py-3 rounded-lg transition-colors duration-200"
>
Get Started
<ArrowRight className="ml-2" />
</Button>
Example 2: Typography Hierarchy
Question First:
For this content hierarchy, I'm thinking:
- Headline: Large, bold, attention-grabbing
- Subheading: Medium, regular weight
- Body: Smaller, optimized for reading
Should we go bold and contemporary, or subtle and refined?
Implementation After Approval:
<div className="space-y-4">
<h1 className="text-5xl font-bold tracking-tight text-slate-900">
Headline Here
</h1>
<h2 className="text-2xl text-slate-600">
Supporting subheading
</h2>
<p className="text-base leading-relaxed text-slate-700">
Body text optimized for readability with proper line height.
</p>
</div>
Example 3: Unique Color Palette Suggestion
Presenting Options:
I'd like to suggest three color directions that break from typical SaaS patterns:
1. **Warm Earth Tones**
- Base: Warm grey (#E8E2DC)
- Accent: Terracotta (#C86E4B)
- For: Organic, trustworthy feel
2. **Cool Midnight**
- Base: Deep navy (#1A2332)
- Accent: Cyan (#4ECDC4)
- For: Modern, tech-forward feel
3. **Soft Pastels**
- Base: Soft pink (#FFE5E5)
- Accent: Sage green (#9DB5A4)
- For: Calm, approachable feel
Which direction feels right for your brand?
Common Patterns to Avoid
❌ Don't:
- Use generic SaaS blue (#3B82F6) without considering alternatives
- Default to shadows and gradients for depth
- Copy Apple's design language
- Use glass morphism effects
- Make design decisions without asking
- Implement typography without considering the font version
- Use animations that delay user actions
- Create cluttered interfaces with competing elements
✅ Do:
- Ask before making design decisions
- Suggest unique, contextually appropriate color pairs
- Use flat, minimal design
- Consider unconventional typography choices
- Provide immediate feedback for interactions
- Create generous white space
- Test with real devices
- Validate accessibility
Version History
- v1.0.0 (2025-10-18): Initial release with comprehensive UI/UX design guidance
References
For additional context, see:
1---2name: bencium-controlled-ux-designer3description: Expert UI/UX design guidance for unique, accessible interfaces. Use for visual decisions, colors, typography, layouts. Always ask before making design decisions. Use this skill when the user asks to build web components, pages, or applications.4---5
6# UX Designer
7
8Expert UI/UX design skill that helps create unique, accessible, and thoughtfully designed interfaces. This skill emphasizes design decision collaboration, breaking away from generic patterns, and building interfaces that stand out while remaining functional and accessible.
9
10## Core Philosophy
11
12**CRITICAL: Design Decision Protocol**
13- **ALWAYS ASK** before making any design decisions (colors, fonts, sizes, layouts)
14- Never implement design changes until explicitly instructed
15- The guidelines below are practical guidance for when design decisions are approved
16- Present alternatives and trade-offs, not single "correct" solutions
17
18## Foundational Design Principles
19
20### Stand Out From Generic Patterns
21
22**Avoid Generic Training Dataset Patterns:**
23- Don't default to "Claude style" designs (excessive bauhaus, liquid glass, apple-like)
24- Don't use generic SaaS aesthetics that look machine-generated
25- Don't rely only on solid colors - suggest photography, patterns, textures
26- Think beyond typical patterns - you can step off the written path
27
28**Draw Inspiration From:**
29- Modern landing pages (Perplexity, Comet Browser, Dia Browser)
30- Framer templates and their innovative approaches
31- Leading brand design studios
32- Historical design movements (Bauhaus, Otl Aicher, Braun) - but as inspiration, not imitation
33- Beautiful background animations (CSS, SVG) - slow, looping, subtle
34
35**Visual Interest Strategies:**
36- Unique color pairs that aren't typical
37- Animation effects that feel fresh
38- Background patterns that add depth without distraction
39- Typography combinations that create contrast
40- Visual assets that tell a story
41
42### Core Design Philosophy
43
441. **Simplicity Through Reduction**
45 - Identify the essential purpose and eliminate distractions
46 - Begin with complexity, then deliberately remove until reaching the simplest effective solution
47 - Every element must justify its existence
48
492. **Material Honesty**
50 - Digital materials have unique properties - embrace them
51 - Buttons should communicate affordance through color, spacing, and typography (not shadows)
52 - Cards use borders and background differentiation (not depth effects)
53 - Animations follow real-world physics principles adapted to digital responsiveness
54
55 **Examples:**
56 - Clickable: Use distinct colors, hover state changes, cursor feedback
57 - Containers: Use subtle borders (1px), background color shifts, or generous padding
58 - Hierarchy: Use scale, weight, and spacing rather than elevation
59
603. **Functional Layering (Not Visual Depth)**
61 - Create hierarchy through typography scale, color contrast, and spatial relationships
62 - Layer information conceptually (primary → secondary → tertiary)
63 - Reject skeuomorphic shadows/gradients that imitate physical depth
64 - Embrace functional depth: modals over content, dropdowns over UI
65
664. **Obsessive Detail**
67 - Consider every pixel, interaction, and transition
68 - Excellence emerges from hundreds of small, intentional decisions
69 - Balance: Details should serve simplicity, not complexity
70 - When detail conflicts with clarity, clarity wins
71
725. **Coherent Design Language**
73 - Every element should visually communicate its function
74 - Elements should feel part of a unified system
75 - Nothing should feel arbitrary
76
776. **Invisibility of Technology**
78 - The best technology disappears
79 - Users should focus on content and goals, not on understanding the interface
80
81### What This Means in Practice
82
83**Color Usage:**
84- Base palette: 4-5 neutral shades (backgrounds, borders, text)
85- Accent palette: 1-3 bold colors (CTAs, status, emphasis)
86- Neutrals are slightly desaturated, warm or cool based on brand intent
87- Accents are saturated enough to create clear contrast
88
89**Typography:**
90- Headlines: Emotional, attention-grabbing (personality over pure legibility)
91- Body/UI: Functional, highly legible (clarity over expression)
92- 2-3 typefaces maximum
93- Clear mathematical scale (e.g., 1.25x between sizes)
94
95**Animation:**
96- Purposeful: Guides attention, establishes relationships, provides feedback
97- Subtle: Felt rather than seen (100-300ms for most interactions)
98- Physics-informed: Natural easing, appropriate mass/momentum
99
100**Spacing:**
101- Generous negative space creates clarity and breathing room
102- Mathematical relationships (e.g., 4px base, 8/16/24/32/48px scale)
103- Consistent application creates visual rhythm
104
105### Design Decision Checklist
106
107Before presenting any design, verify:
108
1091. **Purpose**: Does every element serve a clear function?
1102. **Hierarchy**: Is visual importance aligned with content importance?
1113. **Consistency**: Do similar elements look and behave similarly?
1124. **Accessibility**: Does it meet WCAG AA standards? (contrast, touch targets, keyboard nav)
1135. **Responsiveness**: Does it work on mobile, tablet, desktop?
1146. **Uniqueness**: Does this break from generic SaaS patterns?
1157. **Approval**: Have I asked before implementing colors, fonts, sizes, layouts?
116
117**Design System Framework:**
118
119For understanding what's fixed (universal rules), project-specific (brand personality), and adaptable (context-dependent) in your design system, see DESIGN-SYSTEM-TEMPLATE.md (meta-framework, project templates, decision trees).
120
121## Visual Design Standards
122
123### Color & Contrast
124
125**Color System Architecture:**
126
127Every interface needs two color roles:
128
1291. **Base/Neutral Palette (4-5 colors):**
130 - Backgrounds (lightest)
131 - Surface colors (cards, inputs)
132 - Borders and dividers
133 - Text (darkest)
134 - Use slightly desaturated, warm or cool greys based on brand
135
1362. **Accent Palette (1-3 colors):**
137 - Primary action (CTA buttons)
138 - Status indicators (success, warning, error, info)
139 - Focus/hover states
140 - Use saturated colors for clear contrast against neutrals
141
142**Palette Structure Example:**
143```
144Neutrals: slate-50, slate-100, slate-300, slate-700, slate-900
145Accents: teal-500 (primary), amber-500 (warning), red-500 (error)
146```
147
148**Color Application Rules:**
149
150- **Backgrounds**: Lightest neutral (slate-50 or white)
151- **Text**: Darkest neutral for primary text (slate-900), mid-tone for secondary (slate-600)
152- **Buttons (primary)**: Accent color with white text
153- **Buttons (secondary)**: Neutral with border and dark text
154- **Status indicators**: Specific accent (green=success, red=error, amber=warning, blue=info)
155- **Interactive states**:
156 - Hover: Darken by 10-15% or shift hue slightly
157 - Focus: Use ring/outline in accent color
158 - Disabled: Reduce opacity to 40-50% and remove hover effects
159
160**Color Relationships:**
161
162Choose warm or cool intentionally based on brand:
163- **Warm greys** (beige/brown undertones): Organic, approachable, trustworthy
164- **Cool greys** (blue undertones): Modern, tech-forward, professional
165
166Accent colors should have clear contrast with both:
167- Light backgrounds (for buttons on white)
168- Dark text (if used as backgrounds for white text)
169
170**Intentional Color Usage:**
171- Every color must serve a purpose (hierarchy, function, status, or action)
172- Avoid decorative colors that don't communicate meaning
173- Maintain consistency: same color = same meaning throughout
174
175**Accessibility:**
176- Ensure sufficient contrast for color-blind users
177- Follow WCAG 2.1 AA: minimum 4.5:1 for normal text, 3:1 for large text
178- Don't rely on color alone to convey information (add icons or labels)
179
180**Unique Color Strategy:**
181
182To stand out from generic patterns:
183- Avoid default SaaS blue (#3B82F6) unless it fits your brand
184- Consider unexpected neutrals: warm greys, soft off-whites, deep charcoals
185- Pair neutrals with distinctive accents: terracotta + charcoal, sage + navy, coral + slate
186- Test combinations against "does this look AI-generated?" filter
187
188### Typography Excellence
189
190**Typography Philosophy:**
191
192Typography is a primary design element that conveys personality and hierarchy.
193
194**Functional vs Emotional Typography:**
195- **Headlines/Display**: Prioritize emotion, personality, attention (legibility secondary)
196- **Body Text**: Prioritize legibility, reading comfort, accessibility
197- **UI/Labels**: Prioritize clarity, scannability, consistency
198
199**Font Selection:**
200- Use 2-3 typefaces maximum
201- Limit to 3 weights per typeface (e.g., Regular 400, Medium 500, Bold 700)
202- Prefer variable fonts for fine-tuned control and performance
203
204**Font Version Usage:**
205- **Display version**: Headlines and hero text only
206- **Text version**: Paragraphs and long-form content
207- **Caption/Micro**: Small UI labels (1-2 lines, non-critical info)
208
209**Recommended Sources:**
210- Google Fonts for web (free, well-optimized, reliable)
211- System fonts for performance-critical apps (-apple-system, BlinkMacSystemFont, Segoe UI)
212- Choose fonts that serve your brand's purpose (not "trending" lists)
213
214**Typographic Scale:**
215
216Use mathematical relationships for size hierarchy:
217- **Ratio**: Major third (1.25x) for moderate contrast, Perfect fourth (1.333x) for dramatic
218- **Base size**: 16px (1rem) for body text
219- **Example scale (1.25x)**:
220 ```
221 xs: 0.64rem (10px)
222 sm: 0.8rem (13px)
223 base: 1rem (16px)
224 lg: 1.25rem (20px)
225 xl: 1.563rem (25px)
226 2xl: 1.953rem (31px)
227 3xl: 2.441rem (39px)
228 4xl: 3.052rem (49px)
229 5xl: 3.815rem (61px)
230 ```
231
232**Typographic Hierarchy:**
233- Create clear visual distinction between levels
234- Headlines, subheadings, body, captions should each have distinct size/weight
235- Use combination of size, weight, and color for hierarchy
236
237**Spacing & Readability:**
238- **Line height**: 1.5x font size for body text (e.g., 16px text = 24px line-height)
239- **Line length**: 45-75 characters optimal for readability (60-70 ideal)
240- **Paragraph spacing**: 1-1.5em between paragraphs
241- **Letter spacing (tracking)**:
242 - Larger text (headlines): Slightly tighter (-0.02em to -0.05em)
243 - Normal text (body): Default (0)
244 - Small text (captions): Slightly looser (+0.01em to +0.03em)
245 - General rule: As size increases, reduce tracking; as size decreases, increase tracking
246
247**Font Pairing Logic:**
248
249When using multiple typefaces, create contrast through:
250- **Category contrast**: Serif + Sans-serif (classic, clear distinction)
251- **Weight contrast**: Light + Bold (dynamic, energetic)
252- **Personality contrast**: Geometric + Humanist (modern + warm)
253
254Examples:
255- Serif headlines + Sans body (editorial, trustworthy)
256- Display headlines + System body (distinctive + efficient)
257- Bold sans headlines + Light sans body (modern, clean)
258
259**UI Typography:**
260
261Specific guidance for interface elements:
262- **Button text**: Semi-Bold (600), 14-16px, consistent casing (all-caps OR title case)
263- **Form labels**: Regular (400), 14px, positioned above input
264- **Form input text**: Regular (400), 16px minimum (prevents iOS zoom on focus)
265- **Placeholder text**: Light (300) or desaturated color, same size as input
266- **Error messages**: Regular (400), 12-14px, color-coded (red-ish)
267
268**Responsive Typography:**
269
270Scale type sizes across breakpoints:
271```tsx
272// Example with Tailwind
273<h1 className="text-3xl md:text-4xl lg:text-5xl">
274 Responsive Headline
275</h1>
276
277// Or with CSS clamp (fluid)
278h1 {
279 font-size: clamp(2rem, 5vw, 4rem);
280}
281```
282
283Reduce sizes on mobile (20-30% smaller than desktop)
284Reduce hierarchy levels on small screens (fewer distinct sizes)
285
286### Layout & Spatial Design
287
288**Compositional Balance:**
289- Every screen should feel balanced
290- Pay attention to visual weight and negative space
291- Use generous negative space to focus attention
292- Add sufficient margins and paddings for professional, spacious look
293
294**Grid Discipline:**
295- Maintain consistent underlying grid system
296- Create sense of order while allowing meaningful exceptions
297- Use grid/flex wrappers with `gap` for spacing
298- Prioritize wrappers over direct margins/padding on children
299
300**Spatial Relationships:**
301- Group related elements through proximity, alignment, and shared attributes
302- Use size, color, and spacing to highlight important elements
303- Guide user focus through visual hierarchy
304
305**Attention Guidance:**
306- Design interfaces that guide user attention effectively
307- Avoid cluttered interfaces where elements compete
308- Create clear paths through the content
309
310## Interaction Design
311
312### Motion & Animation
313
314**Purposeful Animation:**
315
316Every animation must serve a functional purpose:
317- **Orient users**: Smooth transitions during navigation changes
318- **Establish relationships**: Show how elements connect (expand from source, slide between states)
319- **Provide feedback**: Confirm interactions (button press, form submission)
320- **Guide attention**: Direct focus to important changes (new messages, errors)
321
322**Animation & Gestalt Principles:**
323
324Motion should reinforce visual relationships:
325- **Proximity**: Elements near each other move together (grouped cards animating)
326- **Similarity**: Similar elements animate similarly (all buttons have same hover timing)
327- **Continuity**: Movement follows natural paths (smooth curves, not jumpy angles)
328- **Figure-ground**: Important elements animate while backgrounds stay stable
329
330**Natural Physics:**
331
332Animations should feel organic, not mechanical:
333- **Easing**: Use ease-out for entrances (fast start, slow end)
334- **Easing**: Use ease-in for exits (slow start, fast end)
335- **Easing**: Use ease-in-out for transitions (smooth both ends)
336- Avoid linear easing (feels robotic) except for continuous loops
337- Apply appropriate mass/momentum (lightweight UI vs weighty modals)
338
339**Subtle Restraint:**
340- Animations should be felt rather than seen
341- Don't delay user actions unnecessarily (keep under 300ms for interactive feedback)
342- Never block critical actions with decorative animations
343- Respect `prefers-reduced-motion` media query
344
345**Timing Guidelines:**
346
347- **Micro-interactions** (button press, checkbox toggle): 100-150ms
348- **State changes** (expanding accordion, tab switch): 200-300ms
349- **Page transitions** (route changes, modal open/close): 300-500ms
350- **Attention-directing** (notification appearance, error highlight): 200-400ms
351
352**Physics Profiles:**
353
354Define consistent durations for element types:
355- **Lightweight** (icons, small UI): 150ms
356- **Standard** (cards, panels): 300ms
357- **Weighty** (modals, page transitions): 500ms
358
359**Performance Optimization:**
360
361- Animate `transform` and `opacity` only (GPU-accelerated, smooth 60fps)
362- Avoid animating `width`, `height`, `top`, `left`, `margin` (causes reflow/repaint)
363- Use `will-change` sparingly for complex animations (pre-allocates GPU resources)
364- Test on low-end devices (60fps on powerful hardware ≠ 60fps on mobile)
365
366**Implementation:**
367- Use `framer-motion` sparingly and purposefully
368- Prefer CSS animations over JavaScript when possible (better performance)
369- Use CSS transitions for simple hover/focus states
370- Implement `@media (prefers-reduced-motion: reduce)` to disable/reduce animations
371
372**Example:**
373```tsx
374// Simple hover transition
375<button className="
376 transition-colors duration-200 ease-out
377 bg-blue-600 hover:bg-blue-700
378">
379 Click me
380</button>
381
382// Framer Motion for complex interaction
383<motion.div
384 initial={{ opacity: 0, y: 20 }}
385 animate={{ opacity: 1, y: 0 }}
386 exit={{ opacity: 0, y: -20 }}
387 transition={{ duration: 0.3, ease: "easeOut" }}
388>
389 Content
390</motion.div>
391```
392
393**Motion Specification:**
394
395For detailed motion specs, see MOTION-SPEC.md (easing curves, duration tables, state-specific animations, implementation patterns).
396
397### User Experience Patterns
398
399**Core UX Principles:**
400
4011. **Direct Manipulation**
402 - Users interact directly with content, not through abstract controls
403 - Examples:
404 - Drag & drop to reorder items (not up/down buttons)
405 - Inline editing (click to edit, not separate form)
406 - Sliders for ranges (not numeric input with +/-)
407 - Pinch/zoom gestures on mobile (not +/- buttons)
408
4092. **Immediate Feedback**
410 - Every interaction provides instantaneous visual feedback (within 100ms)
411 - Types of feedback:
412 - **Visual**: Button pressed state, hover effects, color changes
413 - **Haptic**: Vibration on mobile (submit, error, success)
414 - **Audio**: Subtle sounds for critical actions (optional, user-controlled)
415 - **Loading**: Skeleton screens, spinners for >300ms operations
416 - **Success**: Checkmarks, green highlights, toast notifications
417 - **Error**: Red highlights, inline error messages, shake animations
418
4193. **Consistent Behavior**
420 - Similar-looking elements behave similarly
421 - Examples:
422 - **Visual consistency**: All primary buttons have same colors, sizes, hover states
423 - **Behavioral consistency**: All modals close via X button, ESC key, and outside click
424 - **Interaction consistency**: All drag targets have same hover state and drop feedback
425 - **Pattern consistency**: All forms validate on blur and submit
426
4274. **Forgiveness**
428 - Make errors difficult, but recovery easy
429 - **Prevention strategies**:
430 - Disable invalid actions (grey out unavailable buttons)
431 - Validate inputs inline (before submission)
432 - Confirm destructive actions (delete, overwrite)
433 - Auto-save in background (drafts, progress)
434 - **Recovery strategies**:
435 - Undo/redo for all state changes
436 - Soft deletes (trash/archive before permanent delete)
437 - Clear error messages with actionable fixes
438 - Preserve user input on errors (don't clear forms)
439
4405. **Progressive Disclosure**
441 - Reveal details as needed rather than overwhelming users
442 - Levels of disclosure:
443 - **Summary**: Show essential info by default (card title, price, rating)
444 - **Details**: Expand to show more info (description, specs, reviews)
445 - **Advanced**: Hide complex options behind "Advanced settings" toggle
446 - Examples:
447 - Accordion: Start collapsed, expand on click
448 - Search filters: Show 3-5 common filters, hide rest behind "More filters"
449 - Settings: Basic settings visible, advanced behind "Show advanced"
450
451**Modern UX Patterns:**
452
4531. **Conversational Interfaces**
454
455 Prioritize natural language interaction where appropriate:
456
457 **Four types:**
458 - **Pure chat**: Full conversation (AI assistants, support bots)
459 - **Command palette**: Text-based shortcuts (Cmd+K, search everywhere)
460 - **Smart search**: Natural language queries (search "meetings next week" vs filtering)
461 - **Form alternatives**: Conversational data collection ("What's your name?" vs form fields)
462
463 **When to use:**
464 - Complex searches with multiple variables
465 - Task guidance (wizards, onboarding)
466 - Contextual help
467 - Quick actions (command palette)
468
469 **When NOT to use:**
470 - Simple forms (just use inputs)
471 - Precise control interfaces (design tools, dashboards)
472 - High-frequency repetitive tasks
473
4742. **Adaptive Layouts**
475
476 Respond to user context automatically:
477 - **Time-based**: Dark mode at night, light during day
478 - **Device-based**: Simplified UI on mobile, full features on desktop
479 - **Connection-based**: Reduce images/video on slow connections
480 - **Usage-based**: Prioritize frequent actions, hide rarely-used features
481
482 Examples:
483 - Auto dark/light mode based on time or system preference
484 - Simplified mobile navigation (hamburger menu) vs full desktop nav
485 - Collapsed sidebar on small screens, expanded on large
486
4873. **Minimal, Flat Design**
488
489 Current aesthetic preference:
490 - No drop shadows (except subtle ones for modals/dropdowns)
491 - No gradients for depth (use for accents/backgrounds if desired)
492 - No glass morphism effects
493 - Focus on typography, color, and spacing to create hierarchy
494 - Functional depth: Layers of content (modals, sheets) use positioning, not visual depth
495
496**Navigation:**
497- Clear structure with intuitive navigation menus
498- Implement breadcrumbs for deep hierarchies (more than 2 levels)
499- Use standard UI patterns to reduce learning curve (hamburger menu, tab bars)
500- Ensure predictable behavior (back button works, links look clickable)
501- Maintain navigation context (highlight current page, preserve scroll position)
502
503## Styling Implementation
504
505### Component Library & Tools
506
507**Component Library:**
508- Strongly prefer shadcn components (v4, pre-installed in `@/components/ui`)
509- Import individually: `import { Button } from "@/components/ui/button";`
510- Use over plain HTML elements (`<Button>` over `<button>`)
511- Avoid creating custom components with names that clash with shadcn
512
513**Styling Engine:**
514- Use Tailwind utility classes exclusively
515- Adhere to theme variables in `index.css` via CSS custom properties
516- Map variables in `@theme` (see `tailwind.config.js`)
517- Use inline styles or CSS modules only when absolutely necessary
518
519**Icons:**
520- Use `@phosphor-icons/react` for buttons and inputs
521- Example: `import { Plus } from "@phosphor-icons/react"; <Plus />`
522- Use color for plain icon buttons
523- Don't override default `size` or `weight` unless requested
524
525**Notifications:**
526- Use `sonner` for toasts
527- Example: `import { toast } from 'sonner'`
528
529**Loading States:**
530- Always add loading states, spinners, placeholder animations
531- Use skeletons until content renders
532
533### Layout Implementation
534
535**Spacing Strategy:**
536- Use grid/flex wrappers with `gap` for spacing
537- Prioritize wrappers over direct margins/padding on children
538- Nest wrappers as needed for complex layouts
539
540**Conditional Styling:**
541- Use ternary operators or clsx/classnames utilities
542- Example: `className={clsx('base-class', { 'active-class': isActive })}`
543
544### Responsive Design
545
546**Fluid Layouts:**
547- Use relative units (%, em, rem) instead of fixed pixels
548- Implement CSS Grid and Flexbox for flexible layouts
549- Design mobile-first, then scale up
550
551**Media Queries:**
552- Use breakpoints based on content needs, not specific devices
553- Test across range of devices and orientations
554
555**Touch Targets:**
556- Minimum 44x44 pixels for interactive elements
557- Provide adequate spacing between touch targets
558- Consider hover states for desktop, focus states for touch/keyboard
559
560**Performance:**
561- Optimize assets for mobile networks
562- Use CSS animations over JavaScript
563- Implement lazy loading for images and videos
564
565## Accessibility Standards
566
567**Core Requirements:**
568- Follow WCAG 2.1 AA guidelines
569- Ensure keyboard navigability for all interactive elements
570- Minimum touch target size: 44×44px
571- Use semantic HTML for screen reader compatibility
572- Provide alternative text for images and non-text content
573
574**Implementation Details:**
575- Use descriptive variable and function names
576- Event functions: prefix with "handle" (handleClick, handleKeyDown)
577- Add accessibility attributes:
578 - `tabindex="0"` for custom interactive elements
579 - `aria-label` for buttons without text
580 - `role` attributes when semantic HTML isn't sufficient
581- Ensure logical tab order
582- Provide visible focus states
583
584## Design Process & Testing
585
586### Design Workflow
587
5881. **Understand Context:**
589 - What problem are we solving?
590 - Who are the users and when will they use this?
591 - What are the success criteria?
592
5932. **Explore Options:**
594 - Present 2-3 alternative approaches
595 - Explain trade-offs of each option
596 - Ask which direction resonates
597
5983. **Implement Iteratively:**
599 - Start with structure and hierarchy
600 - Add visual polish progressively
601 - Test at each stage
602
6034. **Validate:**
604 - Use playwright MCP to test visual changes
605 - Check across different screen sizes
606 - Verify accessibility
607
608### Testing Checklist
609
610**Visual Testing:**
611- Use playwright MCP when available for automated testing
612- Check responsive behavior at common breakpoints
613- Verify touch targets on mobile
614- Test with different content lengths (short, long, edge cases)
615
616**Accessibility Testing:**
617- Test keyboard navigation
618- Verify screen reader compatibility
619- Check color contrast ratios
620- Ensure focus states are visible
621
622**Cross-Device Testing:**
623- Test on actual devices, not just emulators
624- Check different browsers (Chrome, Firefox, Safari)
625- Verify touch interactions on mobile
626- Test landscape and portrait orientations
627
628## Examples
629
630### Example 1: Designing a Button
631
632**Initial Question to Ask:**
633```
634Before I implement this button, I have a few design questions:
6351. What's the primary action you want to emphasize?
6362. Do you have brand colors in mind, or should I suggest options?
6373. What emotion should this button convey? (urgent, calm, playful, professional)
638```
639
640**After Getting Approval, Implementation:**
641```tsx
642import { Button } from "@/components/ui/button";
643import { ArrowRight } from "@phosphor-icons/react";
644
645<Button
646 className="bg-slate-800 hover:bg-slate-700 text-white px-6 py-3 rounded-lg transition-colors duration-200"
647>
648 Get Started
649 <ArrowRight className="ml-2" />
650</Button>
651```
652
653### Example 2: Typography Hierarchy
654
655**Question First:**
656```
657For this content hierarchy, I'm thinking:
658- Headline: Large, bold, attention-grabbing
659- Subheading: Medium, regular weight
660- Body: Smaller, optimized for reading
661
662Should we go bold and contemporary, or subtle and refined?
663```
664
665**Implementation After Approval:**
666```tsx
667<div className="space-y-4">
668 <h1 className="text-5xl font-bold tracking-tight text-slate-900">
669 Headline Here
670 </h1>
671 <h2 className="text-2xl text-slate-600">
672 Supporting subheading
673 </h2>
674 <p className="text-base leading-relaxed text-slate-700">
675 Body text optimized for readability with proper line height.
676 </p>
677</div>
678```
679
680### Example 3: Unique Color Palette Suggestion
681
682**Presenting Options:**
683```
684I'd like to suggest three color directions that break from typical SaaS patterns:
685
6861. **Warm Earth Tones**
687 - Base: Warm grey (#E8E2DC)
688 - Accent: Terracotta (#C86E4B)
689 - For: Organic, trustworthy feel
690
6912. **Cool Midnight**
692 - Base: Deep navy (#1A2332)
693 - Accent: Cyan (#4ECDC4)
694 - For: Modern, tech-forward feel
695
6963. **Soft Pastels**
697 - Base: Soft pink (#FFE5E5)
698 - Accent: Sage green (#9DB5A4)
699 - For: Calm, approachable feel
700
701Which direction feels right for your brand?
702```
703
704## Common Patterns to Avoid
705
706❌ **Don't:**
707- Use generic SaaS blue (#3B82F6) without considering alternatives
708- Default to shadows and gradients for depth
709- Copy Apple's design language
710- Use glass morphism effects
711- Make design decisions without asking
712- Implement typography without considering the font version
713- Use animations that delay user actions
714- Create cluttered interfaces with competing elements
715
716✅ **Do:**
717- Ask before making design decisions
718- Suggest unique, contextually appropriate color pairs
719- Use flat, minimal design
720- Consider unconventional typography choices
721- Provide immediate feedback for interactions
722- Create generous white space
723- Test with real devices
724- Validate accessibility
725
726## Version History
727
728- v1.0.0 (2025-10-18): Initial release with comprehensive UI/UX design guidance
729
730## References
731
732For additional context, see:
733- WCAG 2.1 Guidelines: https://www.w3.org/WAI/WCAG21/quickref/
734- Google Fonts: https://fonts.google.com/
735- Tailwind CSS Docs: https://tailwindcss.com/docs
736- Shadcn UI Components: https://ui.shadcn.com/