The fundamental building blocks that define our design language and ensure consistency across all products.
Our design principles guide all product decisions and help us create cohesive, intuitive, and delightful experiences.
We design with real user needs at the forefront, continuously validating our assumptions through research and testing.
Examples:
We create predictable patterns and behaviors that build user confidence and reduce learning curves.
Examples:
Every element serves a clear function. We eliminate decoration that doesn't communicate or assist the user.
Examples:
We optimize for speed and simplicity, helping users accomplish tasks with minimal effort.
Examples:
Our designs scale across devices, contexts, and user needs while maintaining usability.
Examples:
We enhance the experience with thoughtful details that surprise and engage users without sacrificing usability.
Examples:
See how our design principles translate into real-world application
Our color system is designed to create visual hierarchy, communicate meaning, and maintain accessibility across all products.
Semantic color tokens that adapt to light and dark modes
primary
hsl(var(--primary))
primary-foreground
hsl(var(--primary-foreground))
secondary
hsl(var(--secondary))
secondary-foreground
hsl(var(--secondary-foreground))
accent
hsl(var(--accent))
accent-foreground
hsl(var(--accent-foreground))
muted
hsl(var(--muted))
muted-foreground
hsl(var(--muted-foreground))
card
hsl(var(--card))
card-foreground
hsl(var(--card-foreground))
border
hsl(var(--border))
input
hsl(var(--input))
destructive
hsl(var(--destructive))
destructive-foreground
hsl(var(--destructive-foreground))
How to apply colors effectively and accessibly
Use for main actions, key UI elements, and to establish brand presence. Avoid overuse which can diminish its impact.
Use for supporting actions, secondary buttons, and to create visual hierarchy without competing with primary elements.
Use sparingly to highlight important information or to add visual interest to specific UI elements.
Reserve for actions that are destructive or potentially dangerous, such as delete or remove functions.
Experiment with our color system and see how different combinations work together
Our typography system is designed to create clear hierarchies, optimal readability, and a consistent voice across all platforms.
A harmonious and accessible typographic scale
font-size: 2.5rem (40px), font-weight: 700
font-size: 1.875rem (30px), font-weight: 700
font-size: 1.5rem (24px), font-weight: 700
font-size: 1.25rem (20px), font-weight: 700
Body (Base)
font-size: 1rem (16px), font-weight: 400
Small
font-size: 0.875rem (14px), font-weight: 400
Extra Small
font-size: 0.75rem (12px), font-weight: 400
How to use typography effectively
Use type scale to establish clear visual hierarchy. Limit to 3-4 levels of hierarchy per page to avoid confusion.
Aim for 50-75 characters per line for optimal readability. Use containers to control line length on larger screens.
Use more generous line height (1.5-1.6) for body text and tighter line height (1.1-1.3) for headings.
Font sizes should scale down on smaller screens. Headings should reduce more dramatically than body text.
See how our typography system works in real-world applications
Published on March 12, 2023 • 5 min read
Body text demonstrates the readability of our typography system. The line length is optimized for comfortable reading, and the contrast between heading and body text creates a clear hierarchy.
Additional paragraph showing how multiple blocks of text are spaced. Notice the generous line height that improves readability for longer content sections.
This subsection demonstrates the next level in our typographic hierarchy. The heading is visually distinct from the main heading but still carries visual weight.
"Blockquotes use the same font but with styling that sets them apart from regular body text, making quoted content stand out."
The conclusion of our article maintains the same typography patterns, ensuring consistency throughout the reading experience.
Our spacing system creates rhythm and hierarchy while ensuring consistency across all interfaces.
A consistent spacing scale based on 4px increments
4px - Extra Small
Fine adjustments and tight spaces
8px - Small
Between related items, icon padding
16px - Medium
Padding within components, between form fields
24px - Large
Separation between component groups
32px - Extra Large
Section padding, major content blocks
48px - 2XL
Page sections, large separations
Guidelines for creating balanced and harmonious layouts
Maintain consistent alignment within sections. Use a grid system to ensure elements align properly across the interface.
Group related items together. Use larger spacing to separate distinct sections or groups of content.
Embrace white space to improve readability and focus. Don't overcrowd interfaces with too many elements.
Use the same spacing patterns throughout the interface to create a sense of rhythm and predictability.
Adjust spacing proportionally on different screen sizes. Reduce spacing on mobile while maintaining hierarchy.
See how our spacing system creates balanced and harmonious interfaces
Our spacing system uses 4px increments. Each unit represents 4px, creating a consistent rhythm throughout the interface.
Total Users
3,549
Revenue
$24,831
Projects
12
Project created
2 minutes ago
New team member added
1 hour ago
File uploaded
3 hours ago
Alex Johnson
Product Manager
Sarah Williams
UX Designer
Michael Brown
Developer
Our design system is built with accessibility at its core, ensuring our products are usable by everyone.
Core guidelines that inform all our design decisions
Information and UI components must be presentable to users in ways they can perceive.
UI components and navigation must be operable by all users.
Information and operation of the UI must be understandable.
Content must be robust enough to be interpreted by a wide variety of user agents.
Essential checks for every component and page
Recommended tools and methods for accessibility testing
Web accessibility evaluation tool
Browser extension for accessibility testing
Automated auditing in Chrome DevTools
Test using Tab, Enter, Space, and arrow keys
NVDA (Windows), VoiceOver (Mac), JAWS
WebAIM Contrast Checker, Colour Contrast Analyser
Testing with people with disabilities
Testing with real assistive technologies
NoCoffee (vision), Funkify (various disabilities)
Tools and assets to help you implement our design foundations