UX Designer Skill
Assist with all aspects of UX/UI design for web and mobile applications, from research and planning through high-fidelity mockups and interactive prototypes.
Quick Decision Tree
Need to design something? Use this guide:
Is this...
├─ Early exploration/concept validation? → Low-fidelity wireframe (text/ASCII)
├─ Structural validation with real content? → Mid-fidelity mockup (HTML/React basic)
├─ Final design for stakeholders/devs? → High-fidelity prototype (React interactive)
├─ Process or navigation flow? → User flow (Mermaid diagram)
├─ Planning/research phase? → Consult ux-research.md
└─ Iterating on existing design? → See Iteration Workflow below
Platform:
- Student/Guardian interface? → Mobile (iOS/Android)
- Teacher interface? → Web (desktop-first)
Pre-Design Checklist
Before starting ANY design work, complete these steps:
1. Understand Context
2. Determine Fidelity Level
3. Load Required References
4. Check Accessibility Requirements
5. Plan File Naming
Accessibility Requirements (CRITICAL)
Accessibility is non-negotiable. Every design must meet these standards:
Color & Contrast
- Normal text: 4.5:1 contrast ratio minimum (WCAG AA)
- Large text (18pt+): 3:1 contrast ratio minimum
- Never rely on color alone to convey information
- Provide visual alternatives (icons, patterns, labels)
Interaction
- Touch targets: 44x44pt (iOS) / 48x48dp (Android) minimum
- Keyboard navigation: All interactive elements must be keyboard-accessible
- Focus indicators: Visible focus states for all interactive elements
- Tap/click feedback: Visual confirmation of user actions
Content
- Clear labels: All inputs, buttons, and controls must have descriptive labels
- Error messages: Specific, actionable, and positioned near the relevant field
- Reading level: Age-appropriate language for educational context
- Screen readers: Use semantic HTML, ARIA labels where needed
Common Accessibility Mistakes to Avoid
- ❌ Low contrast text on colored backgrounds
- ❌ Small touch targets close together
- ❌ Auto-playing animations without pause control
- ❌ Form inputs without labels
- ❌ Error messages that only use color (red text with no icon/message)
Design Process Overview
Follow this workflow for design requests:
- Complete pre-design checklist (above)
- Understand the context: Clarify requirements with user if needed
- Consult references: Load relevant platform patterns and design principles
- Create the design: Use appropriate templates and follow platform conventions
- Check accessibility: Verify all requirements are met
- Annotate and explain: Provide context for design decisions
When to Use Which Approach
Low-Fidelity Wireframes
Purpose: Early exploration, rapid iteration, and structural planning
When to use:
- Brainstorming multiple layout options
- Validating information hierarchy
- Quick iteration before investing in details
Output:
- Text-based wireframe descriptions with ASCII art or structured layouts
- Focus on hierarchy, layout, and content organization
- No visual styling, just structure
Example request: "Sketch out the basic layout for..."
Mid-Fidelity Mockups
Purpose: Validating structure and flow with representative content
When to use:
- Structure is locked, but visual design is still flexible
- Testing with real content before polishing
- Developer preview of general structure
Output:
- HTML or React components with basic styling
- Use templates as starting point
- Representative content and interactions
- Still relatively simple styling
Example request: "Create a wireframe showing..."
High-Fidelity Interactive Prototypes
Purpose: Final validation, stakeholder presentation, and developer handoff
When to use:
- Final design approval needed
- Demonstrating complex interactions
- Developer handoff with specifications
- User testing with realistic prototype
Output:
- React components with full styling and interactions
- Use color, typography, real content
- Interactive states and transitions
- Based on templates from
assets/
Example request: "Design an interactive mockup..." or "Create a prototype..."
Component Library Reference
Mobile Components (from assets/mobile-template.jsx)
Button
- Variants:
primary, secondary, tertiary, destructive
- States: default, hover, active, disabled, loading
- Props:
variant, disabled, fullWidth, icon, loading
Card
- Use for: Grouping related content, list items, content containers
- Props:
clickable, elevated, padding
ListItem
- Use for: Scrollable lists, navigation items, settings options
- Components:
icon, title, subtitle, action (chevron/switch/badge)
- Props:
onPress, showDivider, disabled
ProgressBar
- Use for: Task completion, loading states, achievement progress
- Variants:
linear, circular
- Props:
progress (0-100), color, showLabel
Badge
- Variants:
status (active/inactive), count, label
- Colors: primary, success, warning, danger, neutral
- Props:
variant, color, text, count
Bottom Navigation (Tab Bar)
- Use for: Primary navigation (iOS-style)
- Max items: 5 (iOS), 3-5 (Android)
- Props:
tabs, activeTab, onTabChange
Navigation Drawer (Android)
- Use for: Secondary navigation, menu items
- Props:
items, onItemSelect, headerContent
Web Admin Components (from assets/web-admin-template.html)
Sidebar Navigation
- Use for: Primary navigation in admin interfaces
- Components: Section headers, nav items with icons, active states
- Collapsible on mobile
Header
- Components: Breadcrumbs, page title, action buttons
- Sticky positioning for persistent access
Metric Cards
- Use for: Dashboard KPIs, summary statistics
- Components: Value, label, trend indicator, icon
- Variants: default, success, warning, danger
Data Table
- Features: Sortable columns, row selection, pagination, actions column
- States: Loading, empty, error
- Props:
columns, data, sortable, selectable, onRowClick
Form Components
- Input fields with labels and error states
- Select dropdowns
- Checkboxes and radio groups
- Date pickers
- File upload areas
Button Styles
- Variants: primary, secondary, tertiary, destructive, ghost
- Sizes: small, medium, large
- States: default, hover, active, disabled, loading
Platform-Specific Guidelines
Mobile Design (iOS & Android)
Required: Before designing mobile interfaces, consult references/mobile-patterns.md for:
- Platform-specific navigation patterns
- Standard components and conventions
- Touch targets and spacing
- Platform-appropriate interactions
Key considerations:
- Touch targets minimum 44x44pt (iOS) / 48x48dp (Android)
- Respect platform conventions (tab bar vs navigation drawer)
- Consider thumb zones for frequent actions
- Show loading, empty, and error states
- Design for one-handed use when possible
- Account for safe areas (notches, home indicators)
Mobile-specific states to design:
- Default/idle
- Loading/processing
- Empty state (no data)
- Error state (with recovery action)
- Success confirmation
- Pull-to-refresh
- Offline mode
Web Admin Design
Required: Before designing web interfaces, consult references/web-patterns.md for:
- Dashboard layout patterns
- Data table and visualization approaches
- Form patterns and validation
- Responsive breakpoints
Key considerations:
- Desktop-first for teacher admin tools
- Keyboard navigation and accessibility
- Efficient workflows for repetitive tasks
- Clear data hierarchy and filtering
- Responsive down to tablet (768px minimum)
- Persistent navigation and context
Web-specific patterns:
- Breadcrumb navigation
- Bulk actions with selection
- Inline editing for data tables
- Modal dialogs for focused tasks
- Toasts/notifications for feedback
- Export/download actions
Creating Designs
For Mobile Apps
Use the React template from assets/mobile-template.jsx as a starting point:
- Copy the template structure
- Customize the screen content for the specific use case
- Modify colors if needed for branding
- Add platform-specific components (tab bar, navigation, etc.)
- Include relevant UI states (loading, empty, error)
- Verify touch target sizes and spacing
- Add accessibility annotations
File naming: feature-screen-v1.jsx (e.g., task-breakdown-v1.jsx)
For Web Admin
Use the HTML template from assets/web-admin-template.html as a starting point:
- Copy the template structure
- Customize the sidebar navigation for the specific admin sections
- Modify the content area for the specific view (dashboard, detail page, etc.)
- Add relevant tables, charts, or forms
- Ensure responsive behavior
- Test keyboard navigation flow
File naming: feature-view-v1.html (e.g., student-progress-v1.html)
Iteration Workflow
Handling Feedback and Design Revisions
When receiving feedback:
- Document the feedback: List specific changes requested
- Determine scope: Minor tweaks or major revision?
- Version appropriately:
- Minor changes (color, spacing, copy): Update existing file, note changes in comments
- Major changes (layout, flow, features): Create new version file (
v2, v3)
For comparison/decision:
- Create side-by-side variants:
dashboard-option-a.jsx, dashboard-option-b.jsx
- Include pros/cons of each approach in comments or separate doc
- Highlight differences clearly
Version history approach:
Communication pattern:
- Present changes clearly: "I've updated the dashboard based on your feedback. The main changes are..."
- Highlight trade-offs: "I increased the button size for accessibility, which means we can fit 3 instead of 4 per row"
- Suggest next steps: "This addresses the navigation concern. Want to review the form validation next?"
User Research and Planning
When user needs help with research, planning, or information architecture, consult references/ux-research.md for:
- User persona templates
- User story formats
- User journey mapping
- Information architecture planning
- Sitemap structures
- Wireframing principles
- Design system planning
Design Deliverable Formats
Interactive Prototypes (React)
Use for: High-fidelity designs that need interactivity
Output:
- Create a single
.jsx file with all components inline
- Include state management for interactions
- Add comments explaining key design decisions
- Show multiple states (default, hover, active, loading, error)
File naming: feature-name-v1.jsx
Static Mockups (HTML)
Use for: Presenting visual designs without complex interactivity
Output:
- Create a single
.html file with inline CSS
- Use realistic content
- Include annotations as comments
- Show responsive layouts if relevant
File naming: feature-name-v1.html
User Flows (SVG or Mermaid)
Use for: Process flows and navigation structures
Output:
- Use Mermaid diagrams for text-based flow creation
- Include decision points, user actions, system responses
- Label transitions and conditions
File naming: feature-flow-v1.mermaid
Text-based Wireframes
Use for: Quick, low-fidelity exploration
Output:
- Use structured text with clear hierarchy
- ASCII art for layout visualization if helpful
- Bullet points for components and content
- Clear labeling of interactions
Can be in conversation or as .txt file
Educational App-Specific Patterns
When designing for the educational planning app context:
Student Views (mobile-first):
- Task breakdown interfaces with drag-and-drop or step-by-step wizards
- Calendar integration showing existing commitments
- Progress visualization (rings, bars, streaks)
- Gentle reminders and motivational elements
- Age-appropriate language and complexity
- Achievement/reward elements
Guardian Views (mobile-first):
- Overview dashboards showing student progress
- Alert mechanisms for missed deadlines
- Communication channels with students
- Simplified interfaces focusing on key metrics
- Notification preferences
Teacher Views (web-first):
- Assignment creation with templates and recurrence
- Class and group management
- Progress tracking dashboards with filtering
- Individual student drill-down views
- Bulk actions for efficiency
- Analytics and reporting
Design System Consistency
When creating multiple screens or components:
- Establish color palette early (primary, secondary, semantic colors)
- Define spacing scale (typically 8px or 4px base unit)
- Use consistent typography hierarchy
- Reuse components across screens
- Document any new patterns created
- Maintain consistent interaction patterns
Color palette structure:
- Primary: Main brand color
- Secondary: Supporting actions
- Semantic: Success (green), Warning (yellow), Danger (red), Info (blue)
- Neutrals: Grays for text, borders, backgrounds
Spacing scale example:
- 4px: Tight spacing (icon-to-label)
- 8px: Component padding, small gaps
- 16px: Default spacing between elements
- 24px: Section spacing
- 32px+: Major layout spacing
Common Pitfalls to Avoid
Design Mistakes
- ❌ Inconsistent spacing: Use the spacing scale, don't eyeball it
- ❌ Too many font sizes: Stick to 4-5 sizes max (heading, body, caption, etc.)
- ❌ Unclear hierarchy: Users should know what to look at first
- ❌ Missing states: Always design loading, empty, error, and success states
- ❌ Platform confusion: Don't mix iOS and Android patterns
- ❌ Ignoring real content: "Lorem ipsum" hides length/formatting issues
Interaction Mistakes
- ❌ Invisible touch areas: Small icons without adequate tap targets
- ❌ No feedback: User actions should have immediate visual response
- ❌ Unclear CTAs: Primary action should be visually obvious
- ❌ Hidden navigation: Users shouldn't have to guess where to go next
- ❌ Modal overload: Too many popups/modals disrupt flow
Accessibility Mistakes
- ❌ Poor contrast: Test all text colors against backgrounds
- ❌ Tiny text: Minimum 16px for body text on mobile
- ❌ Close touch targets: Leave 8px+ between tappable elements
- ❌ No labels: Every input needs a visible label
- ❌ Color-only indicators: Pair color with icons or text
Process Mistakes
- ❌ Designing in a vacuum: Validate assumptions early with user
- ❌ Over-designing too early: Start low-fidelity, add polish later
- ❌ Not considering edge cases: What if there's no data? 100 items?
- ❌ Ignoring technical constraints: Check feasibility with developer
- ❌ Perfecting the wrong thing: Validate direction before polishing
Annotations and Handoff
For designs intended for development:
- Specify component states (default, hover, active, disabled, loading, error)
- Note responsive breakpoints and behavior
- Call out interaction patterns (tap, swipe, long-press)
- Indicate conditional logic (if X then show Y)
- Reference any platform-specific implementations
- Specify animations/transitions (duration, easing)
- Note data requirements (what API calls are needed)
Annotation format example:
// Component: TaskCard
// States: default, selected, completed, overdue
// Interaction: Tap to view details, long-press for quick actions
// Data: task.title, task.dueDate, task.progress, task.subtasks[]
// Conditional: Show overdue badge if dueDate < today && !completed
Examples
Example 1: Task Breakdown Screen (Mobile)
Request: "Design a screen where students can break down a large assignment into smaller subtasks"
Response approach:
- Complete pre-design checklist
- Consult
mobile-patterns.md for appropriate patterns
- Use
mobile-template.jsx as base
- Create interactive prototype showing:
- Assignment header with due date
- Add subtask interface
- List of subtasks with checkboxes
- Calendar integration to schedule each subtask
- Progress indicator
- Empty state (no subtasks yet)
- Completed state (all subtasks done)
- Annotate interaction: "Tap '+' to add subtask, drag to reorder, tap calendar icon to schedule"
- Note accessibility: All touch targets 44pt minimum, checkboxes labeled for screen readers
File name: task-breakdown-v1.jsx
Example 2: Teacher Progress Dashboard (Web)
Request: "Design a page that shows teacher the progress on a specific assignment across all students"
Response approach:
- Complete pre-design checklist
- Consult
web-patterns.md for data visualization patterns
- Use
web-admin-template.html as base
- Create mockup showing:
- Summary metrics at top (completion rate, average progress, overdue count)
- Filterable/sortable table of students with progress bars
- Visual indicators for at-risk students
- Bulk action buttons (send reminder, extend deadline)
- Empty state (no submissions yet)
- Export functionality
- Note responsive behavior for tablet viewing
- Specify keyboard shortcuts (e.g., "/" for search, arrow keys for navigation)
File name: assignment-progress-v1.html
Example 3: User Flow
Request: "Show the flow from teacher assigning a task to student receiving and planning it"
Response approach:
- Create Mermaid diagram showing:
- Teacher creates assignment
- System notifies students (push + email)
- Student opens notification
- Student views assignment details
- Student breaks down into subtasks
- Student schedules subtasks
- Guardian receives summary notification
- Include decision points (e.g., if student declines task, notify teacher)
- Show system states (pending, in progress, completed)
- Note error cases (notification failed, deadline passed)
File name: assignment-flow-v1.mermaid
Example 4: Iteration Based on Feedback
Request: "The task breakdown screen needs bigger buttons and we should add a way to set priority on subtasks"
Response approach:
- Document changes: Increase button size from 40pt to 44pt, add priority picker to subtask modal
- Create new version:
task-breakdown-v2.jsx
- Add version notes in file comments
- Highlight changes: "Updated button sizes for better accessibility. Added priority selection (high/medium/low) when creating/editing subtasks. Priority shown with color-coded badge on each subtask."
- Note trade-off: "Larger buttons reduced visible subtasks from 7 to 6 per screen, but improved tap accuracy significantly"
Output Format
Always provide:
- Design rationale: Brief explanation of approach and key decisions
- The design: Interactive prototype, static mockup, flow diagram, or wireframe
- Usage notes: How to interact with prototype, responsive behavior, states shown
- Accessibility notes: Key accessibility features implemented
- Next steps: Suggestions for iteration or additional screens needed
Keep the design focused on the specific request while maintaining consistency with broader app patterns.
Quick Reference Card
Starting a design?
- ✅ Complete pre-design checklist
- ✅ Read relevant reference files
- ✅ Check component library
- ✅ Verify accessibility requirements
- ✅ Name file with version number
Stuck on something?
- Need structure? → Start with wireframe
- Need to show flow? → Create Mermaid diagram
- Need to compare options? → Make variants (option-a, option-b)
- Need to iterate? → Create new version file (v2, v3)
Before delivering:
- ✅ All touch targets 44pt+ (mobile) or clickable (web)
- ✅ Color contrast checked (4.5:1 minimum)
- ✅ Multiple states shown (loading, empty, error)
- ✅ Annotations for developer handoff
- ✅ Version and date noted in file
1---2name: ux3description: Comprehensive UX/UI design assistance for web and mobile applications. Use when designing user interfaces, user flows, wireframes, mockups, or interactive prototypes. Covers iOS/Android mobile apps and responsive web applications. Helps with information architecture, design systems, component libraries, user research planning, and accessibility. Use when user requests design work, wireframes, mockups, user flows, or needs help planning app/web interfaces.4---56# UX Designer Skill78Assist with all aspects of UX/UI design for web and mobile applications, from research and planning through high-fidelity mockups and interactive prototypes.910## Quick Decision Tree1112**Need to design something? Use this guide:**1314```15Is this...16├─ Early exploration/concept validation? → Low-fidelity wireframe (text/ASCII)17├─ Structural validation with real content? → Mid-fidelity mockup (HTML/React basic)18├─ Final design for stakeholders/devs? → High-fidelity prototype (React interactive)19├─ Process or navigation flow? → User flow (Mermaid diagram)20├─ Planning/research phase? → Consult ux-research.md21└─ Iterating on existing design? → See Iteration Workflow below22```2324**Platform:**25- Student/Guardian interface? → Mobile (iOS/Android)26- Teacher interface? → Web (desktop-first)2728## Pre-Design Checklist2930**Before starting ANY design work, complete these steps:**3132### 1. Understand Context33- [ ] What feature/screen/flow are we designing?34- [ ] For whom? (student/teacher/guardian/other)35- [ ] What platform? (iOS/Android/web)36- [ ] What problem does this solve for the user?3738### 2. Determine Fidelity Level39- [ ] Is this early exploration? → Low-fidelity40- [ ] Validating structure? → Mid-fidelity41- [ ] Final design? → High-fidelity4243### 3. Load Required References44- [ ] **For mobile:** Read `references/mobile-patterns.md`45- [ ] **For web:** Read `references/web-patterns.md`46- [ ] **For research/planning:** Read `references/ux-research.md`47- [ ] **Always:** Review component library section below4849### 4. Check Accessibility Requirements50- [ ] Color contrast meets WCAG AA (4.5:1)51- [ ] Touch targets are adequate (44pt/48dp minimum)52- [ ] Keyboard navigation planned53- [ ] Screen reader compatibility considered54- [ ] Age-appropriate for educational context5556### 5. Plan File Naming57- [ ] Use versioning convention: `feature-name-v1.jsx`, `feature-name-v2.jsx`58- [ ] Include fidelity in name if helpful: `dashboard-wireframe.html`, `dashboard-hifi.jsx`5960## Accessibility Requirements (CRITICAL)6162Accessibility is non-negotiable. Every design must meet these standards:6364### Color & Contrast65- **Normal text:** 4.5:1 contrast ratio minimum (WCAG AA)66- **Large text (18pt+):** 3:1 contrast ratio minimum67- **Never rely on color alone** to convey information68- Provide visual alternatives (icons, patterns, labels)6970### Interaction71- **Touch targets:** 44x44pt (iOS) / 48x48dp (Android) minimum72- **Keyboard navigation:** All interactive elements must be keyboard-accessible73- **Focus indicators:** Visible focus states for all interactive elements74- **Tap/click feedback:** Visual confirmation of user actions7576### Content77- **Clear labels:** All inputs, buttons, and controls must have descriptive labels78- **Error messages:** Specific, actionable, and positioned near the relevant field79- **Reading level:** Age-appropriate language for educational context80- **Screen readers:** Use semantic HTML, ARIA labels where needed8182### Common Accessibility Mistakes to Avoid83- ❌ Low contrast text on colored backgrounds84- ❌ Small touch targets close together85- ❌ Auto-playing animations without pause control86- ❌ Form inputs without labels87- ❌ Error messages that only use color (red text with no icon/message)8889## Design Process Overview9091Follow this workflow for design requests:92931. **Complete pre-design checklist** (above)942. **Understand the context**: Clarify requirements with user if needed953. **Consult references**: Load relevant platform patterns and design principles964. **Create the design**: Use appropriate templates and follow platform conventions975. **Check accessibility**: Verify all requirements are met986. **Annotate and explain**: Provide context for design decisions99100## When to Use Which Approach101102### Low-Fidelity Wireframes103**Purpose:** Early exploration, rapid iteration, and structural planning104105**When to use:**106- Brainstorming multiple layout options107- Validating information hierarchy108- Quick iteration before investing in details109110**Output:**111- Text-based wireframe descriptions with ASCII art or structured layouts112- Focus on hierarchy, layout, and content organization113- No visual styling, just structure114115**Example request:** "Sketch out the basic layout for..."116117### Mid-Fidelity Mockups118**Purpose:** Validating structure and flow with representative content119120**When to use:**121- Structure is locked, but visual design is still flexible122- Testing with real content before polishing123- Developer preview of general structure124125**Output:**126- HTML or React components with basic styling127- Use templates as starting point128- Representative content and interactions129- Still relatively simple styling130131**Example request:** "Create a wireframe showing..."132133### High-Fidelity Interactive Prototypes134**Purpose:** Final validation, stakeholder presentation, and developer handoff135136**When to use:**137- Final design approval needed138- Demonstrating complex interactions139- Developer handoff with specifications140- User testing with realistic prototype141142**Output:**143- React components with full styling and interactions144- Use color, typography, real content145- Interactive states and transitions146- Based on templates from `assets/`147148**Example request:** "Design an interactive mockup..." or "Create a prototype..."149150## Component Library Reference151152### Mobile Components (from `assets/mobile-template.jsx`)153154**Button**155- Variants: `primary`, `secondary`, `tertiary`, `destructive`156- States: default, hover, active, disabled, loading157- Props: `variant`, `disabled`, `fullWidth`, `icon`, `loading`158159**Card**160- Use for: Grouping related content, list items, content containers161- Props: `clickable`, `elevated`, `padding`162163**ListItem**164- Use for: Scrollable lists, navigation items, settings options165- Components: `icon`, `title`, `subtitle`, `action` (chevron/switch/badge)166- Props: `onPress`, `showDivider`, `disabled`167168**ProgressBar**169- Use for: Task completion, loading states, achievement progress170- Variants: `linear`, `circular`171- Props: `progress` (0-100), `color`, `showLabel`172173**Badge**174- Variants: `status` (active/inactive), `count`, `label`175- Colors: primary, success, warning, danger, neutral176- Props: `variant`, `color`, `text`, `count`177178**Bottom Navigation (Tab Bar)**179- Use for: Primary navigation (iOS-style)180- Max items: 5 (iOS), 3-5 (Android)181- Props: `tabs`, `activeTab`, `onTabChange`182183**Navigation Drawer** (Android)184- Use for: Secondary navigation, menu items185- Props: `items`, `onItemSelect`, `headerContent`186187### Web Admin Components (from `assets/web-admin-template.html`)188189**Sidebar Navigation**190- Use for: Primary navigation in admin interfaces191- Components: Section headers, nav items with icons, active states192- Collapsible on mobile193194**Header**195- Components: Breadcrumbs, page title, action buttons196- Sticky positioning for persistent access197198**Metric Cards**199- Use for: Dashboard KPIs, summary statistics200- Components: Value, label, trend indicator, icon201- Variants: default, success, warning, danger202203**Data Table**204- Features: Sortable columns, row selection, pagination, actions column205- States: Loading, empty, error206- Props: `columns`, `data`, `sortable`, `selectable`, `onRowClick`207208**Form Components**209- Input fields with labels and error states210- Select dropdowns211- Checkboxes and radio groups212- Date pickers213- File upload areas214215**Button Styles**216- Variants: primary, secondary, tertiary, destructive, ghost217- Sizes: small, medium, large218- States: default, hover, active, disabled, loading219220## Platform-Specific Guidelines221222### Mobile Design (iOS & Android)223224**Required:** Before designing mobile interfaces, consult `references/mobile-patterns.md` for:225- Platform-specific navigation patterns226- Standard components and conventions227- Touch targets and spacing228- Platform-appropriate interactions229230**Key considerations:**231- Touch targets minimum 44x44pt (iOS) / 48x48dp (Android)232- Respect platform conventions (tab bar vs navigation drawer)233- Consider thumb zones for frequent actions234- Show loading, empty, and error states235- Design for one-handed use when possible236- Account for safe areas (notches, home indicators)237238**Mobile-specific states to design:**239- Default/idle240- Loading/processing241- Empty state (no data)242- Error state (with recovery action)243- Success confirmation244- Pull-to-refresh245- Offline mode246247### Web Admin Design248249**Required:** Before designing web interfaces, consult `references/web-patterns.md` for:250- Dashboard layout patterns251- Data table and visualization approaches252- Form patterns and validation253- Responsive breakpoints254255**Key considerations:**256- Desktop-first for teacher admin tools257- Keyboard navigation and accessibility258- Efficient workflows for repetitive tasks259- Clear data hierarchy and filtering260- Responsive down to tablet (768px minimum)261- Persistent navigation and context262263**Web-specific patterns:**264- Breadcrumb navigation265- Bulk actions with selection266- Inline editing for data tables267- Modal dialogs for focused tasks268- Toasts/notifications for feedback269- Export/download actions270271## Creating Designs272273### For Mobile Apps274275Use the React template from `assets/mobile-template.jsx` as a starting point:2762771. Copy the template structure2782. Customize the screen content for the specific use case2793. Modify colors if needed for branding2804. Add platform-specific components (tab bar, navigation, etc.)2815. Include relevant UI states (loading, empty, error)2826. Verify touch target sizes and spacing2837. Add accessibility annotations284285**File naming:** `feature-screen-v1.jsx` (e.g., `task-breakdown-v1.jsx`)286287### For Web Admin288289Use the HTML template from `assets/web-admin-template.html` as a starting point:2902911. Copy the template structure2922. Customize the sidebar navigation for the specific admin sections2933. Modify the content area for the specific view (dashboard, detail page, etc.)2944. Add relevant tables, charts, or forms2955. Ensure responsive behavior2966. Test keyboard navigation flow297298**File naming:** `feature-view-v1.html` (e.g., `student-progress-v1.html`)299300## Iteration Workflow301302### Handling Feedback and Design Revisions303304**When receiving feedback:**3051. **Document the feedback:** List specific changes requested3062. **Determine scope:** Minor tweaks or major revision?3073. **Version appropriately:**308 - **Minor changes** (color, spacing, copy): Update existing file, note changes in comments309 - **Major changes** (layout, flow, features): Create new version file (`v2`, `v3`)310311**For comparison/decision:**312- Create side-by-side variants: `dashboard-option-a.jsx`, `dashboard-option-b.jsx`313- Include pros/cons of each approach in comments or separate doc314- Highlight differences clearly315316**Version history approach:**317- Keep previous versions for reference318- Add version notes at top of file:319 ```320 // v2 - 2024-01-15321 // Changes: Added bulk actions, improved error states, adjusted mobile layout322 // Feedback from: Teacher usability testing323 ```324325**Communication pattern:**326- Present changes clearly: "I've updated the dashboard based on your feedback. The main changes are..."327- Highlight trade-offs: "I increased the button size for accessibility, which means we can fit 3 instead of 4 per row"328- Suggest next steps: "This addresses the navigation concern. Want to review the form validation next?"329330## User Research and Planning331332When user needs help with research, planning, or information architecture, consult `references/ux-research.md` for:333- User persona templates334- User story formats335- User journey mapping336- Information architecture planning337- Sitemap structures338- Wireframing principles339- Design system planning340341## Design Deliverable Formats342343### Interactive Prototypes (React)344**Use for:** High-fidelity designs that need interactivity345346**Output:**347- Create a single `.jsx` file with all components inline348- Include state management for interactions349- Add comments explaining key design decisions350- Show multiple states (default, hover, active, loading, error)351352**File naming:** `feature-name-v1.jsx`353354### Static Mockups (HTML)355**Use for:** Presenting visual designs without complex interactivity356357**Output:**358- Create a single `.html` file with inline CSS359- Use realistic content360- Include annotations as comments361- Show responsive layouts if relevant362363**File naming:** `feature-name-v1.html`364365### User Flows (SVG or Mermaid)366**Use for:** Process flows and navigation structures367368**Output:**369- Use Mermaid diagrams for text-based flow creation370- Include decision points, user actions, system responses371- Label transitions and conditions372373**File naming:** `feature-flow-v1.mermaid`374375### Text-based Wireframes376**Use for:** Quick, low-fidelity exploration377378**Output:**379- Use structured text with clear hierarchy380- ASCII art for layout visualization if helpful381- Bullet points for components and content382- Clear labeling of interactions383384**Can be in conversation or as .txt file**385386## Educational App-Specific Patterns387388When designing for the educational planning app context:389390**Student Views** (mobile-first):391- Task breakdown interfaces with drag-and-drop or step-by-step wizards392- Calendar integration showing existing commitments393- Progress visualization (rings, bars, streaks)394- Gentle reminders and motivational elements395- Age-appropriate language and complexity396- Achievement/reward elements397398**Guardian Views** (mobile-first):399- Overview dashboards showing student progress400- Alert mechanisms for missed deadlines401- Communication channels with students402- Simplified interfaces focusing on key metrics403- Notification preferences404405**Teacher Views** (web-first):406- Assignment creation with templates and recurrence407- Class and group management408- Progress tracking dashboards with filtering409- Individual student drill-down views410- Bulk actions for efficiency411- Analytics and reporting412413## Design System Consistency414415When creating multiple screens or components:416- Establish color palette early (primary, secondary, semantic colors)417- Define spacing scale (typically 8px or 4px base unit)418- Use consistent typography hierarchy419- Reuse components across screens420- Document any new patterns created421- Maintain consistent interaction patterns422423**Color palette structure:**424- Primary: Main brand color425- Secondary: Supporting actions426- Semantic: Success (green), Warning (yellow), Danger (red), Info (blue)427- Neutrals: Grays for text, borders, backgrounds428429**Spacing scale example:**430- 4px: Tight spacing (icon-to-label)431- 8px: Component padding, small gaps432- 16px: Default spacing between elements433- 24px: Section spacing434- 32px+: Major layout spacing435436## Common Pitfalls to Avoid437438### Design Mistakes439- ❌ **Inconsistent spacing:** Use the spacing scale, don't eyeball it440- ❌ **Too many font sizes:** Stick to 4-5 sizes max (heading, body, caption, etc.)441- ❌ **Unclear hierarchy:** Users should know what to look at first442- ❌ **Missing states:** Always design loading, empty, error, and success states443- ❌ **Platform confusion:** Don't mix iOS and Android patterns444- ❌ **Ignoring real content:** "Lorem ipsum" hides length/formatting issues445446### Interaction Mistakes447- ❌ **Invisible touch areas:** Small icons without adequate tap targets448- ❌ **No feedback:** User actions should have immediate visual response449- ❌ **Unclear CTAs:** Primary action should be visually obvious450- ❌ **Hidden navigation:** Users shouldn't have to guess where to go next451- ❌ **Modal overload:** Too many popups/modals disrupt flow452453### Accessibility Mistakes454- ❌ **Poor contrast:** Test all text colors against backgrounds455- ❌ **Tiny text:** Minimum 16px for body text on mobile456- ❌ **Close touch targets:** Leave 8px+ between tappable elements457- ❌ **No labels:** Every input needs a visible label458- ❌ **Color-only indicators:** Pair color with icons or text459460### Process Mistakes461- ❌ **Designing in a vacuum:** Validate assumptions early with user462- ❌ **Over-designing too early:** Start low-fidelity, add polish later463- ❌ **Not considering edge cases:** What if there's no data? 100 items?464- ❌ **Ignoring technical constraints:** Check feasibility with developer465- ❌ **Perfecting the wrong thing:** Validate direction before polishing466467## Annotations and Handoff468469For designs intended for development:470- Specify component states (default, hover, active, disabled, loading, error)471- Note responsive breakpoints and behavior472- Call out interaction patterns (tap, swipe, long-press)473- Indicate conditional logic (if X then show Y)474- Reference any platform-specific implementations475- Specify animations/transitions (duration, easing)476- Note data requirements (what API calls are needed)477478**Annotation format example:**479```480// Component: TaskCard481// States: default, selected, completed, overdue482// Interaction: Tap to view details, long-press for quick actions483// Data: task.title, task.dueDate, task.progress, task.subtasks[]484// Conditional: Show overdue badge if dueDate < today && !completed485```486487## Examples488489### Example 1: Task Breakdown Screen (Mobile)490**Request:** "Design a screen where students can break down a large assignment into smaller subtasks"491492**Response approach:**4931. Complete pre-design checklist4942. Consult `mobile-patterns.md` for appropriate patterns4953. Use `mobile-template.jsx` as base4964. Create interactive prototype showing:497 - Assignment header with due date498 - Add subtask interface499 - List of subtasks with checkboxes500 - Calendar integration to schedule each subtask501 - Progress indicator502 - Empty state (no subtasks yet)503 - Completed state (all subtasks done)5045. Annotate interaction: "Tap '+' to add subtask, drag to reorder, tap calendar icon to schedule"5056. Note accessibility: All touch targets 44pt minimum, checkboxes labeled for screen readers506507**File name:** `task-breakdown-v1.jsx`508509### Example 2: Teacher Progress Dashboard (Web)510**Request:** "Design a page that shows teacher the progress on a specific assignment across all students"511512**Response approach:**5131. Complete pre-design checklist5142. Consult `web-patterns.md` for data visualization patterns5153. Use `web-admin-template.html` as base5164. Create mockup showing:517 - Summary metrics at top (completion rate, average progress, overdue count)518 - Filterable/sortable table of students with progress bars519 - Visual indicators for at-risk students520 - Bulk action buttons (send reminder, extend deadline)521 - Empty state (no submissions yet)522 - Export functionality5235. Note responsive behavior for tablet viewing5246. Specify keyboard shortcuts (e.g., "/" for search, arrow keys for navigation)525526**File name:** `assignment-progress-v1.html`527528### Example 3: User Flow529**Request:** "Show the flow from teacher assigning a task to student receiving and planning it"530531**Response approach:**5321. Create Mermaid diagram showing:533 - Teacher creates assignment534 - System notifies students (push + email)535 - Student opens notification536 - Student views assignment details537 - Student breaks down into subtasks538 - Student schedules subtasks539 - Guardian receives summary notification5402. Include decision points (e.g., if student declines task, notify teacher)5413. Show system states (pending, in progress, completed)5424. Note error cases (notification failed, deadline passed)543544**File name:** `assignment-flow-v1.mermaid`545546### Example 4: Iteration Based on Feedback547**Request:** "The task breakdown screen needs bigger buttons and we should add a way to set priority on subtasks"548549**Response approach:**5501. Document changes: Increase button size from 40pt to 44pt, add priority picker to subtask modal5512. Create new version: `task-breakdown-v2.jsx`5523. Add version notes in file comments5534. Highlight changes: "Updated button sizes for better accessibility. Added priority selection (high/medium/low) when creating/editing subtasks. Priority shown with color-coded badge on each subtask."5545. Note trade-off: "Larger buttons reduced visible subtasks from 7 to 6 per screen, but improved tap accuracy significantly"555556## Output Format557558Always provide:5591. **Design rationale**: Brief explanation of approach and key decisions5602. **The design**: Interactive prototype, static mockup, flow diagram, or wireframe5613. **Usage notes**: How to interact with prototype, responsive behavior, states shown5624. **Accessibility notes**: Key accessibility features implemented5635. **Next steps**: Suggestions for iteration or additional screens needed564565**Keep the design focused on the specific request while maintaining consistency with broader app patterns.**566567---568569## Quick Reference Card570571**Starting a design?**5721. ✅ Complete pre-design checklist5732. ✅ Read relevant reference files5743. ✅ Check component library5754. ✅ Verify accessibility requirements5765. ✅ Name file with version number577578**Stuck on something?**579- Need structure? → Start with wireframe580- Need to show flow? → Create Mermaid diagram581- Need to compare options? → Make variants (option-a, option-b)582- Need to iterate? → Create new version file (v2, v3)583584**Before delivering:**585- ✅ All touch targets 44pt+ (mobile) or clickable (web)586- ✅ Color contrast checked (4.5:1 minimum)587- ✅ Multiple states shown (loading, empty, error)588- ✅ Annotations for developer handoff589- ✅ Version and date noted in file