Skill 06 · Bencium Innovative UX Designer
Subchapter 6.2
DESIGN-SYSTEM-TEMPLATE.mdMarkdown15 KBView on GitHub
Meta-framework for understanding what’s fixed, project-specific, and adaptable in your design system.
This template helps you distinguish between:
These foundations remain consistent across all projects, regardless of brand or context.
Fixed System:
4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px, 96pxUsage:
Why Fixed: Consistent spacing creates visual rhythm regardless of brand personality.
Fixed Structure:
Why Fixed: Grid provides structural order. Brand personality shows through color, typography, content—not grid structure.
Fixed Requirements:
Why Fixed: Accessibility is not negotiable. It’s a baseline requirement for ethical, legal, and usable products.
Fixed Structure:
Why Fixed: Mathematical relationships create predictable, harmonious hierarchy. Specific fonts change, but the logic doesn’t.
Fixed Patterns:
Why Fixed: Users expect consistent component behavior. Architecture is fixed; appearance is project-specific.
Fixed Physics Profiles:
Fixed Easing:
Why Fixed: Natural physics feel consistent across brands. Duration and easing create that feeling.
Fill in these for each project based on brand personality and purpose.
Template Structure:
NEUTRALS (4-5 colors):
- Background lightest: _______ (e.g., slate-50 or warm-white)
- Surface: _______ (e.g., slate-100)
- Border/divider: _______ (e.g., slate-300)
- Text secondary: _______ (e.g., slate-600)
- Text primary: _______ (e.g., slate-900)
ACCENTS (1-3 colors):
- Primary (main CTA): _______ (e.g., teal-500)
- Secondary (alternative action): _______ (optional)
- Status colors:
- Success: _______ (green-ish)
- Warning: _______ (amber-ish)
- Error: _______ (red-ish)
- Info: _______ (blue-ish)Questions to Answer:
Examples:
Project A: Fintech App
Neutrals: Cool greys (slate-50 → slate-900)
Primary: Deep blue (#0A2463) – trust, professionalism
Success: Muted green (#10B981)
Why: Financial products need trust, not playfulnessProject B: Creative Community
Neutrals: Warm greys with beige undertones
Primary: Coral (#FF6B6B) – energy, creativity
Success: Teal (#06D6A0) – fresh, unexpected
Why: Creative spaces should feel inviting, not corporateProject C: Healthcare Platform
Neutrals: Pure greys (minimal color temperature)
Primary: Soft blue (#4A90E2) – calm, clinical
Success: Medical green (#38A169)
Why: Healthcare needs clarity and calm, not distractionTemplate:
HEADLINE FONT: _______
- Weight: _______ (e.g., Bold 700)
- Use case: H1, H2, display text
- Personality: _______ (geometric/humanist/serif/etc.)
BODY FONT: _______
- Weight: _______ (e.g., Regular 400, Medium 500)
- Use case: Paragraphs, UI text
- Personality: _______ (neutral/readable/efficient)
OPTIONAL ACCENT FONT: _______
- Weight: _______
- Use case: _______ (special headlines, callouts)Pairing Logic:
Examples:
Project A: Editorial Platform
Headline: Playfair Display (Serif, Bold 700)
Body: Inter (Sans-serif, Regular 400)
Why: Serif headlines = trustworthy, editorial feelProject B: Tech Startup
Headline: DM Sans (Sans-serif, Bold 700)
Body: DM Sans (Regular 400, Medium 500)
Why: Single-font system = modern, efficient, cohesiveProject C: Luxury Brand
Headline: Cormorant Garamond (Serif, Light 300)
Body: Lato (Sans-serif, Regular 400)
Why: Elegant serif + readable sans = sophisticatedTemplate:
BRAND PERSONALITY:
- Formal ↔ Casual: _______ (1-10 scale)
- Professional ↔ Friendly: _______ (1-10 scale)
- Serious ↔ Playful: _______ (1-10 scale)
- Authoritative ↔ Conversational: _______ (1-10 scale)
MICROCOPY EXAMPLES:
- Button label (submit form): _______
- Error message (invalid email): _______
- Success message (saved): _______
- Empty state: _______
ANIMATION PERSONALITY:
- Speed: _______ (quick/moderate/slow)
- Feel: _______ (precise/smooth/bouncy)Examples:
Project A: Banking App
Personality: Formal (8), Professional (9), Serious (8)
Button: "Submit Application"
Error: "Email address format is invalid"
Success: "Application submitted successfully"
Animation: Quick (precise, efficient, no-nonsense)Project B: Social App
Personality: Casual (8), Friendly (9), Playful (7)
Button: "Let's go!"
Error: "Hmm, that email doesn't look right"
Success: "Nice! You're all set 🎉"
Animation: Moderate (smooth, friendly bounce)Template:
SPEED PREFERENCE:
- UI interactions: _______ (100-150ms / 150-200ms / 200-300ms)
- State changes: _______ (200ms / 300ms / 400ms)
- Page transitions: _______ (300ms / 500ms / 700ms)
ANIMATION STYLE:
- Easing preference: _______ (sharp / standard / bouncy)
- Movement type: _______ (minimal / smooth / expressive)Examples:
Project A: Trading Platform
Speed: Fast (100ms UI, 200ms states, 300ms pages)
Style: Sharp easing, minimal movement
Why: Traders need speed, not distractionProject B: Wellness App
Speed: Slow (200ms UI, 400ms states, 500ms pages)
Style: Smooth easing, gentle movement
Why: Calm, relaxing experience matches brandContext-dependent implementations that vary based on use case.
Button Variants:
Adaptation Rules:
Fixed Ranges:
Adaptable Implementations:
Simple Content Site:
XS-SM: Single column
MD: 2 columns
LG-XL: 3 columns max
Why: Content-focused, don't overwhelmDashboard/Data App:
XS: Collapsed, cards stack
SM: Simplified sidebar
MD: Full sidebar + main content
LG-XL: Sidebar + main + right panel
Why: Data apps need more screen real estateAdaptation Strategy:
Not a simple inversion. Dark mode needs adjusted contrast:
Light Mode:
Background: #FFFFFF (white)
Text: #0F172A (slate-900) → 21:1 contrastDark Mode (Adapted):
Background: #0F172A (slate-900)
Text: #E2E8F0 (slate-200) → 15.8:1 contrast (still AA, but softer)Why Adapt: Pure white on pure black is too harsh. Dark mode needs slightly lower contrast for eye comfort.
Context-Dependent:
Fast operations (<500ms):
Medium operations (500ms-2s):
Long operations (>2s):
Interactive Operations:
Context-Dependent:
Form Errors:
Validate: On blur (after user leaves field)
Display: Inline below field
Recovery: Clear error on fixAPI Errors:
Transient (network): Show retry button
Permanent (404): Show helpful message + next steps
Critical (500): Contact support optionData Errors:
Missing: Show empty state with action
Corrupt: Show error boundary with reload
Invalid: Highlight + explain what's wrongWhen implementing a feature, ask:
FIXED?
PROJECT-SPECIFIC?
ADAPTABLE?
Before finalizing a design, check:
Use this to start a new project:
PROJECT NAME: _______________________
PURPOSE: ____________________________
BRAND PERSONALITY:
- Primary emotion: _______
- Warm or cool: _______
- Formal or casual: _______
- Conservative or bold: _______
COLORS (fill the template):
- Neutral base: _______
- Primary accent: _______
- Status colors: _______ / _______ / _______
TYPOGRAPHY (fill the template):
- Headline font: _______
- Body font: _______
- Pairing rationale: _______
TONE:
- Button labels style: _______
- Error message style: _______
- Success message style: _______
ANIMATION:
- Speed preference: _______ (fast/moderate/slow)
- Feel preference: _______ (sharp/smooth/bouncy)
TARGET DEVICES:
- Primary: _______ (mobile/desktop/both)
- Secondary: _______Fixed: Standard spacing, 12-col grid, WCAG AA, major third type scale Project-Specific:
Fixed: Same spacing/grid/accessibility/type logic Project-Specific:
Fixed: Same foundational structure Project-Specific:
The system flexibility framework lets you:
Without this framework:
With this framework: