Library

Build Assets

Reusable design artifacts extracted from the library — UI components, checklists, hero patterns, and brand guidelines ready to apply.

81 assets across 5 types

Primary Button

UI Component

Main call-to-action button for the single most important action on a surface.

States
Default: solid brand background, white/dark label
Hover: 10% darker background (use HSB brightness -10)
Active/Pressed: 20% darker background
button · ctadesign systems

Text Input

UI Component

Single-line text field for user-entered data with label, placeholder, and validation states.

States
Default: border var(--color-border)
Focus: border var(--color-accent), focus ring
Filled: same as default, content visible
form · inputux psychology

Content Card

UI Component

Container for a discrete piece of content with optional action — the most reusable pattern in any product.

States
Default: white background, 1px border
Hover (if interactive): border accent color, slight elevation
Selected: accent border, light accent background tint
card · contentdesign systems

Modal / Dialog

UI Component

Focused overlay for decisions, confirmations, or short forms that require immediate attention.

States
Open: scrim visible, container centered with entrance animation
Closing: fade out scrim + slide down container (150ms)
Scroll: body scrolls independently when content exceeds max-height
modal · dialogpractical ui

Toast Notification

UI Component

Non-blocking feedback message that appears briefly after a user action.

States
Entering: slide up from bottom-right + fade in (200ms)
Visible: static, 3–5s auto-dismiss timer
Exiting: fade out + slide down (150ms)
toast · notificationux psychology

Empty State

UI Component

Designed placeholder when a list, table, or view has no content yet.

States
First-use: user has never added content — focus on value promise
No results: filtered/searched view returned nothing — show clear filter path
Error: failed to load — show retry action
empty-state · zero-statepractical ui

Navigation Sidebar

UI Component

Persistent vertical navigation for multi-section products with 5+ destinations.

States
Default: all items visible, active item highlighted
Hover: background color shift (--color-bg-hover)
Active: accent left border or filled pill background
navigation · sidebarux psychology

Badge / Tag

UI Component

Compact label for status, category, count, or metadata.

States
Default: static, read-only label
Interactive (clickable): hover background shift, cursor pointer
Removable: × button visible on hover or always
badge · tagux psychology

Toggle Switch

UI Component

Binary on/off control for settings that take immediate effect.

States
Off: grey track, left-positioned thumb
On: accent-color track, right-positioned thumb, smooth slide transition (200ms)
Focused: visible focus ring around track
toggle · switchpractical ui

Tabs

UI Component

Horizontal navigation between related content sections within the same context.

States
Default: grey text, no underline
Active: dark text, accent underline
Hover: darker text, subtle background
tabs · navigationux psychology

Skeleton Loader

UI Component

Animated placeholder that mirrors the shape of loading content.

States
Loading: shimmer animation active
Loaded: replaced by real content (no transition needed)
Error: replaced by error state
skeleton · loadingux psychology

Pagination

UI Component

Navigation control for moving through paged content sets.

States
Current page: filled accent background, not clickable
Adjacent pages: text only, hover background
Prev/Next disabled: 40% opacity, not clickable
pagination · navigationux psychology

Dropdown / Select

UI Component

Single-choice selector for 5–15 options that would clutter the layout as radio buttons.

States
Closed: trigger button with current value or placeholder
Open: panel visible below (or above if near viewport bottom), trigger focused
Option hover: background highlight
dropdown · selectux psychology

Tooltip

UI Component

Contextual label that appears on hover/focus to clarify a UI element.

States
Hidden: invisible, no space reserved
Visible: fade in (150ms) after 300ms hover delay
Focus-visible: shown immediately on keyboard focus (no delay)
tooltip · hintpractical ui

Radio Button Group

UI Component

Mutually exclusive single-choice selector where all options are visible simultaneously.

States
Unselected: empty circle with grey border
Selected: outer circle accent border, filled inner disc
Focused: visible focus ring around the radio + label
radio · formux psychology

Data Table

UI Component

Structured rows and columns for comparing, scanning, and acting on multiple records.

States
Default: clean rows, no hover
Row hover: subtle background shift
Row selected: accent left border or checkbox checked
table · datadesign systems

Breadcrumb

UI Component

Navigation trail showing the user's location within a hierarchy.

States
Default: secondary color links, dividers, non-linked current page
Link hover: underline or accent color
Truncated: middle items collapsed to "…" on mobile with expand tap
breadcrumb · navigationux psychology

Stepper / Wizard

UI Component

Multi-step flow indicator that shows progress through a sequential process.

States
Completed: filled accent circle, checkmark icon
Current: accent border circle, accent number, animated entrance
Upcoming: grey empty circle, grey number/icon
stepper · wizardux psychology

Checkbox Group

UI Component

Multi-select input where users can choose any number of options simultaneously.

States
Unchecked: empty square with grey border
Checked: accent fill, white ✓
Indeterminate: accent fill, white — (dash)
checkbox · formux psychology

Search Input

UI Component

Specialized text input for querying content with clear, loading, and results feedback.

States
Empty: magnifier icon, placeholder text, optional shortcut hint
Focused: border accent, placeholder dimmed
Has value: text + clear × button visible
search · inputux psychology

Accordion

UI Component

Collapsible sections for progressive disclosure of related content groups.

States
Collapsed: header visible, panel hidden, chevron pointing down
Expanded: header active (slight bg tint), panel visible, chevron pointing up
Focused: visible focus ring on header
accordion · collapsepractical ui

Notification Bell

UI Component

Icon button with unread count badge that opens a notification dropdown.

States
No unread: bell icon only, no badge
Unread 1–9: red circle badge with number
Unread 10+: "9+" or "99+" pill badge
notifications · bellux psychology

Progress Bar

UI Component

Linear indicator of completion for determinate and indeterminate processes.

States
Determinate: fill width = % complete, transitions smoothly
Indeterminate: animated sweep from left to right, loops
Complete: 100% fill, optional color change to success green
progress · loadingux psychology

Avatar

UI Component

User or entity representation — image, initials fallback, and group stack.

States
Image loaded: circular photo
Image error/missing: initials on colored background
No name: generic user icon on grey background
avatar · userdesigning brand identity

File Upload

UI Component

Drag-and-drop + click file selection with progress, validation, and error states.

States
Idle: dashed border, grey icon, instruction text
Drag over: solid accent border, light accent background
File selected: file preview rows below zone
file-upload · drag-droppractical ui

Date Picker

UI Component

Calendar overlay for selecting single dates or date ranges.

States
Trigger closed: input shows formatted date or placeholder
Open: calendar panel below (or above near viewport bottom)
Day hover: light accent background
date-picker · calendarux psychology

Color Contrast Check

ChecklistCritical

Verify all text meets WCAG AA contrast minimums before shipping.

All body text meets 4.5:1 contrast ratio; large text (18pt+ or 14pt bold) meets 3:1; UI components and focus indicators meet 3:1.
accessibility · colorpractical ui

Touch Target Size

ChecklistCritical

All interactive elements are large enough to tap accurately on mobile.

Every tappable element has a minimum 44×44px touch target. Small visual elements (icons, links) use invisible padding to meet the minimum.
accessibility · mobileux psychology

Color Is Not the Only Signal

ChecklistCritical

Every meaning conveyed by color is also conveyed by a second signal (icon, label, pattern).

Error states use icon + color + text (never color alone). Status indicators use icon or label alongside color. Charts use pattern or shape in addition to color.
accessibility · color-blindnesspractical ui

Empty States Defined

ChecklistImportant

Every list, table, and data view has a designed empty state.

Every view that can be empty (no data, no results, first-time user) has a designed empty state with: an explanation of why it's empty, and a clear next action.
empty-state · contentpractical ui

Keyboard Navigation

ChecklistCritical

All interactive functionality is reachable and operable with keyboard alone.

Tab order follows visual reading order. All interactive elements receive visible focus. No keyboard traps (except intentional modal dialogs). Escape closes modals and dropdowns.
accessibility · keyboardux psychology

Form Validation UX

ChecklistCritical

Validation errors are shown inline, immediately, with clear corrective guidance.

Validation errors appear inline below the field (not in a summary banner), trigger on blur (not on submit only), use red border + icon + specific message ("Email must include @" not "Invalid email"), and disappear as soon as the user corrects the input.
forms · validationux psychology

Loading States

ChecklistImportant

Every async operation has a loading state that appears within 400ms.

Every data-fetching view shows a skeleton or spinner within 400ms. Buttons that trigger async actions show a loading state immediately on click. No UI ever appears frozen without feedback.
loading · performanceux psychology

Error Recovery Paths

ChecklistImportant

Every error state tells users what went wrong and provides a specific next action.

Every error message: (1) states what went wrong in plain language, (2) explains why if not obvious, (3) provides a specific action button (Retry, Go back, Contact support). No error shows only a code or generic "Something went wrong".
errors · recoverypractical ui

Responsive Breakpoints

ChecklistCritical

All layouts tested and functional at mobile (375px), tablet (768px), and desktop (1280px+).

Every page tested at 375px (iPhone SE), 768px (iPad), and 1280px+. No horizontal scroll at any breakpoint. Touch targets ≥ 44px on mobile. Navigation accessible on all sizes.
responsive · mobilepractical ui

Image Alt Text

ChecklistCritical

All meaningful images have descriptive alt text; decorative images are marked empty.

All <img> elements have an alt attribute. Meaningful images: alt describes what the image shows and why it matters in context. Decorative images: alt="" (empty string — not "image" or "photo"). Icon buttons: alt text or aria-label describes the action.
accessibility · imagesux psychology

Focus Management

ChecklistCritical

Focus is managed correctly when UI changes — modals, navigation, dynamic content.

When a modal opens: focus moves to first focusable element inside. When a modal closes: focus returns to the trigger. When a route changes: focus moves to the page heading or skip link. Dynamic content added to DOM: announced via aria-live if important.
accessibility · focusux psychology

Heading Hierarchy

ChecklistImportant

Page headings follow a logical h1→h2→h3 sequence with no skipped levels.

Every page has exactly one h1 (the page title). Subsections use h2. Sub-subsections use h3. No levels are skipped (no h1 → h3). Heading levels are not chosen for visual size — use CSS for size, HTML for structure.
accessibility · headingspractical ui

Core Web Vitals

ChecklistImportant

LCP, FID/INP, and CLS scores meet Google's "Good" threshold before launch.

LCP < 2.5s, INP < 200ms, CLS < 0.1. Run Lighthouse in Chrome DevTools on the 3 most-visited pages. Test on throttled mobile (Moto G4 preset). All three scores in "Good" range.
performance · core-web-vitalsux psychology

Design Handoff Completeness

ChecklistImportant

Developers have everything they need to implement without guessing.

Every design file includes: all interactive states (default, hover, focus, active, disabled, error, loading), exact spacing values (not "about 16px"), component names matching code, and annotation for non-obvious behaviors (animations, conditional visibility, validation logic).
handoff · design-systemdesign systems

Reduced Motion Support

ChecklistImportant

All animations respect prefers-reduced-motion and have a no-motion fallback.

All CSS animations and transitions are wrapped in a @media (prefers-reduced-motion: no-preference) block, OR individually reduced/removed with @media (prefers-reduced-motion: reduce). Skeleton shimmer, loading spinners, and page transitions all have static fallbacks.
animation · accessibilitydesigning brand identity

Launch Readiness Checklist

ChecklistCritical

Final verification sweep before shipping to production.

Verify all of: (1) favicon present and correct, (2) page titles and meta descriptions set, (3) 404 page designed, (4) error pages designed (500, offline), (5) no console errors in production build, (6) all external links open in new tab with rel="noopener", (7) forms have success and error states, (8) all images have alt text, (9) no placeholder copy (Lorem ipsum), (10) privacy policy and terms links present if required.
launch · productionpractical ui

SEO Basics

ChecklistImportant

Essential on-page SEO requirements for public-facing pages.

Every public page has: (1) unique <title> under 60 chars, (2) meta description 120–160 chars, (3) one H1 matching the page intent, (4) descriptive URL slug (no /page?id=42), (5) Open Graph tags for social sharing (og:title, og:description, og:image), (6) canonical URL tag.
seo · metapractical ui

Internationalisation Readiness

ChecklistImportant

Layouts and strings are ready for translation without breaking.

All UI strings use a translation function or key lookup (not hardcoded English). Layouts accommodate 30% text expansion (German, Finnish expand significantly). Date, time, number, and currency formats use locale-aware formatting. Text containers don't clip at fixed widths. RTL languages don't break layout.
i18n · l10nux psychology

Content Strategy Basics

ChecklistImportant

UI copy is clear, consistent, and serves user goals — not internal jargon.

All UI strings: (1) use plain language (8th grade reading level for general audiences), (2) are consistent — same action always uses the same verb, (3) use active voice, (4) have no jargon unexplained to new users, (5) use second person ("your") not third ("the user"), (6) button labels are verb-first ("Save changes" not "Changes saved").
content · copyux psychology

Design System Adoption

ChecklistImportant

All UI elements use system components — no one-off implementations.

Every button, input, modal, toast, badge, and navigation element in production uses the design system component — not a one-off implementation. No hardcoded hex values outside the token file. No arbitrary spacing values. All component names match between Figma and code.
design-system · consistencydesign systems

Security Basics

ChecklistCritical

Minimum security requirements before shipping a product to users.

Verify all of: (1) HTTPS enforced everywhere with HSTS header, (2) auth tokens stored in httpOnly cookies (not localStorage), (3) all user inputs sanitized before rendering (XSS prevention), (4) CSRF tokens on state-changing forms, (5) sensitive data not logged or exposed in client-side JS, (6) rate limiting on auth endpoints, (7) dependency audit run (npm audit / Dependabot).
security · httpsux psychology

Typography Audit

ChecklistImportant

Verify type scale, weights, and line lengths are consistent across the product.

Audit confirms: (1) only defined scale sizes in use (no one-off px values), (2) maximum 2 font weights used (regular + bold), (3) body text line-height ≥ 1.5, (4) no line longer than 680px for body text, (5) no pure black (#000) text — use near-black, (6) no light grey text failing 4.5:1 contrast on white.
typography · auditpractical ui

Color System Audit

ChecklistImportant

Verify no hardcoded hex values exist outside the token file.

Search the codebase for hardcoded hex values (#[0-9a-fA-F]{3,6}) outside the token definition file. Zero should exist in component files. All colors must reference CSS custom properties (var(--color-*)). All color pairs used for text meet WCAG AA.
color · tokensinteraction of color

Mobile Gesture Support

ChecklistCritical

Touch interactions work correctly and don't conflict with system gestures.

Verify: (1) all tappable elements ≥ 44×44px, (2) horizontal swipe in carousels/drawers doesn't conflict with browser back gesture, (3) no hover-only interactions (hover is unavailable on touch), (4) tap delay eliminated (touch-action: manipulation), (5) scroll areas work with one-finger scroll, (6) pinch-to-zoom not disabled on content pages.
mobile · touchux psychology

Print Styles

ChecklistNice to have

Pages that users are likely to print render cleanly in print view.

Pages users might print (invoices, reports, reference content, tickets) have a @media print stylesheet that: hides navigation, sidebars, and CTAs; removes background colors; ensures text is black on white; includes the page URL in the footer; breaks pages logically (avoid breaking headings from their content).
print · cssux psychology

Value Proposition Hero

Hero Pattern

Primary landing page hero communicating the core product value to new visitors.

Slots
Headline · required
Subheadline · required
Primary CTA · required
landing-page · heropractical ui

Feature Section

Hero Pattern

Mid-page section showcasing a specific product feature with visual support.

Slots
Feature headline · required
Feature description · required
Feature visual · required
features · sectiondesign systems

Pricing Table

Hero Pattern

Side-by-side plan comparison that makes the recommended option obvious.

Slots
Plan name · required
Price · required
Plan description · required
pricing · comparisonux psychology

Testimonial Section

Hero Pattern

Social proof section using customer quotes to build trust mid-page.

Slots
Quote text · required
Author name · required
Author title + company · required
testimonials · social-proofdesigning brand identity

Dashboard Layout

Hero Pattern

Metrics and activity overview for signed-in users — the product home screen.

Slots
Page heading · required
Primary metric cards · required
Primary chart · required
dashboard · metricsux psychology

Auth Page (Sign In / Sign Up)

Hero Pattern

Minimal focused layout for authentication — the highest-friction point in onboarding.

Slots
Logo · required
Heading · required
Email + Password fields · required
auth · loginpractical ui

Onboarding Flow

Hero Pattern

First-run experience that helps new users reach their first value moment quickly.

Slots
Progress indicator · required
Step heading · required
Primary input or choice · required
onboarding · first-runux psychology

404 / Error Page

Hero Pattern

Designed error page that recovers users rather than abandoning them.

Slots
Error code · required
Headline · required
Explanation · required
404 · errorux psychology

Site Footer

Hero Pattern

Page-level footer with navigation, legal, and brand elements.

Slots
Logo · required
Navigation columns · required
Legal bar · required
footer · navigationdesigning brand identity

Notification Center / Activity Feed

Hero Pattern

Full-page inbox for user activity, mentions, and system notifications.

Slots
Filter sidebar · required
Notification list · required
Notification item · required
notifications · inboxux psychology

Settings Page

Hero Pattern

Organized preferences with sidebar navigation and grouped form controls.

Slots
Settings nav · required
Section heading · required
Settings group · required
settings · preferencesux psychology

Search Results Page

Hero Pattern

Full-page search with filters, result count, and sorted results.

Slots
Search bar · required
Result count + sort · required
Filter panel · required
search · resultsux psychology

Profile / Account Page

Hero Pattern

User identity and account information overview page.

Slots
Avatar + name · required
Key metadata · required
Action buttons · required
profile · accountdesigning brand identity

Logo Clear Space

Brand Guideline

Minimum breathing room around the logo to maintain visual presence.

Maintain minimum clear space equal to the cap-height of the wordmark (or the x-height of the mark unit) on all four sides. Preferred clear space is 1.5× this value.
logo · spacingdesigning brand identity

Brand Color Specification

Brand Guideline

How to specify brand color values correctly across all production media.

Every brand color must be specified in all four formats: Pantone (coated + uncoated), CMYK, RGB, and hex. Never specify a brand color as just a hex value — vendors producing print materials cannot use hex.
color · branddesigning brand identity

Brand Typography Hierarchy

Brand Guideline

The approved typefaces and their roles in brand communications.

Maximum two typeface families in any brand communication: one for display/headlines, one for body/UI. Never substitute system fonts for licensed brand typefaces in customer-facing materials.
typography · branddesigning brand identity

Voice and Tone

Brand Guideline

How the brand sounds across all written communications — consistent personality, adaptive tone.

Voice is constant across all channels; tone adapts to context. Define voice with 3–5 behavioral adjectives (not aspirational ones). For each, write what it means in practice and what it explicitly is not.
voice · tonedesigning brand identity

Image and Photography Style

Brand Guideline

How imagery reinforces brand personality — subject matter, color treatment, and composition.

All brand photography must be consistent in: color temperature (warm or cool, never both), subject matter (people/product/abstract — pick a primary mode), treatment (natural light vs. studio, color vs. black-and-white), and composition (negative space proportion).
photography · imagerydesigning brand identity

Spacing and Grid System

Brand Guideline

The base spacing unit and grid that creates visual rhythm across all surfaces.

All spacing values must be multiples of the base unit (8px). No arbitrary values (7px, 13px, 19px). Use a defined scale: 4, 8, 16, 24, 32, 48, 64, 96. Page layouts align to a 12-column grid with 24px gutters.
spacing · griddesign systems

Motion Principles

Brand Guideline

How elements animate — timing, easing, and purpose — as an expression of brand character.

All motion must have purpose: guide attention, communicate state change, or confirm an action. Decorative animation is prohibited. Use standard durations: 100ms (micro), 200ms (standard), 300ms (complex), 500ms (page transitions).
motion · animationdesigning brand identity

Icon Usage Rules

Brand Guideline

How to use, size, and apply the brand icon system consistently.

Use only the approved icon library (Lucide React). Never mix icon styles from different libraries. All icons must use currentColor inheritance — never hardcoded hex. Standard sizes: 12px (dense UI), 16px (default), 20px (prominent), 24px (large). Never scale icons between these sizes.
icons · iconographydesigning brand identity

Social Media Specifications

Brand Guideline

Approved dimensions and brand treatments for social media assets.

All social media assets must use approved brand colors, the correct logo variant for the background, and the specified dimensions. Open Graph images must not contain text that becomes illegible at link preview size.
social-media · branddesigning brand identity

Email Template Spec

Brand Guideline

Brand standards for transactional and marketing emails.

All brand emails use the standard template: white content card (600px wide) on light grey background (#F5F5F5), logo at top (120–160px wide), navy text (#0F172A), accent orange for primary CTAs, footer with legal text and unsubscribe. No custom fonts — use system fallbacks.
email · templatedesigning brand identity

Presentation Template

Brand Guideline

Brand standards for slides, decks, and presentations.

All external presentations use the approved template: navy title slides, white content slides, logo bottom-right on every slide. One idea per slide. Headlines are complete sentences (the takeaway), not topic labels. Max 5 bullet points per slide. Fonts: Poppins (display) or Inter (body).
presentation · slidesux psychology

Document and Wiki Style

Brand Guideline

Brand standards for internal documents, specs, and wikis.

Internal documents follow: one H1 per doc (the title), H2 for major sections, H3 for sub-sections. Bullet points for lists of 3+ items. Tables for comparisons. Code blocks for all code/values. Documents start with a TL;DR or summary section. Status labels: Draft / In Review / Final.
documentation · wikidesign systems

Logo Minimum Size

Logo Rule

The smallest dimensions at which the logo remains legible in print and digital contexts.

The full lockup (mark + wordmark) must never appear smaller than 80px wide on screen or 25mm wide in print. The mark alone may be used at smaller sizes down to 16px (favicon/app icon).
logo · sizedesigning brand identity

Logo Misuse Guidelines

Logo Rule

Common logo applications that damage brand equity and must be avoided.

The logo must never be altered, recolored, distorted, shadowed, or placed on insufficiently contrasting backgrounds.
logo · misusedesigning brand identity

Co-branding and Partnerships

Logo Rule

How to display the Mathesis logo alongside partner or client logos.

When appearing alongside a partner logo: both logos must be equal in optical size (not bounding-box size), separated by a vertical divider or minimum 3× clear space, and neither logo may be modified to match the other's style.
co-branding · partnershipsdesigning brand identity

Logo Background Rules

Logo Rule

Approved and prohibited background treatments for logo placement.

The logo may only appear on: white, light grey (>90% lightness), the brand navy (#0F172A), or solid accent orange (#F97316). On photographs, use a white or navy container with clear space. Never place the logo directly on a patterned, textured, or busy background without a container.
logo · backgroundinteraction of color

Logo Animation Rules

Logo Rule

How and when the logo mark may be animated.

The logo mark may animate in loading screens and brand intro sequences only. Animation must be subtle: reveal (fade in or draw), not distortion (no morphing, bouncing, or spinning). The orange chevron element may pulse once on first load. Maximum animation duration: 800ms. All animations must respect prefers-reduced-motion.
logo · animationdesigning brand identity