DESIGN.md · Analysis

Design Systems Surf

designsystems.surf · 18 Jun 2026 · 47 colors · Inter Display, Inter Tight

Design Systems Surf

A curated database and gallery of best-in-class design systems from top-tier tech companies, emphasizing clarity, accessibility, and component-driven architecture through a clean, minimalist interface.

Colors

surface#ffffff
surface-dim#f5f5f5
surface-bright#ffffff
surface-container-lowest#fafafa
surface-container-low#f5f5f5
surface-container#f0f0f0
surface-container-high#e9ecef
surface-container-highest#e0e0e0
on-surface#000000
on-surface-variant#666666
inverse-surface#1a1a1a
inverse-on-surface#ffffff
outline#999999
outline-variant#cccccc
surface-tint#0099ff
primary#0099ff
on-primary#ffffff
primary-container#e6f2ff
on-primary-container#003d7a
inverse-primary#66ccff
secondary#ff5500
on-secondary#ffffff
secondary-container#ffe6d9
on-secondary-container#663300
tertiary#6352fa
on-tertiary#ffffff
tertiary-container#eae6ff
on-tertiary-container#2a1f7a
error#ff5555
on-error#ffffff
error-container#ffdddd
on-error-container#7a0000
primary-fixed#e6f2ff
primary-fixed-dim#b3d9ff
on-primary-fixed#001f4d
on-primary-fixed-variant#003d7a
secondary-fixed#ffe6d9
secondary-fixed-dim#ffb399
on-secondary-fixed#331a00
on-secondary-fixed-variant#663300
tertiary-fixed#eae6ff
tertiary-fixed-dim#cfc6ff
on-tertiary-fixed#1a0f4d
on-tertiary-fixed-variant#2a1f7a
background#ffffff
on-background#000000
surface-variant#f0f0f0

Typography

display
fontFamily: Inter Display · fontSize: 56px · fontWeight: 500 · lineHeight: 64px · letterSpacing: -0.02em
headline-lg
fontFamily: Inter Tight · fontSize: 32px · fontWeight: 600 · lineHeight: 40px · letterSpacing: -0.01em
headline-md
fontFamily: Inter Tight · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: 0em
title-lg
fontFamily: Inter Tight · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0.01em
body-lg
fontFamily: Inter · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: Inter · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
label-md
fontFamily: Inter · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: IBM Plex Mono · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.05em

Design guidance

Overview

Design Systems Surf is a curated reference library and discovery platform for design systems from leading technology companies and design-forward organizations. The brand embodies 'Minimalist Clarity'—a design philosophy that prioritizes information hierarchy, accessibility, and component-driven thinking through a deliberately restrained visual language. The interface uses a clean white canvas (#ffffff) with strategic accent colors (primary blue #0099ff, secondary orange #ff5500, tertiary purple #6352fa) to guide users through complex design system documentation. The emotional response is one of confidence and professionalism: users feel they're accessing vetted, production-ready design knowledge from industry leaders. The brand personality is authoritative yet approachable, speaking to both seasoned design systems practitioners and teams beginning their design infrastructure journey. Voice is direct, jargon-aware but never gatekeeping, and grounded in practical utility. Example sentence: 'Explore how Figma, Stripe, and Shopify structure their component libraries—then adapt what works for your team.'

Colors

The color system follows a light-mode-first strategy with three primary accent roles: Primary Blue (#0099ff) is reserved exclusively for interactive elements (CTAs, links, focus states, active navigation) and represents the brand's core action color. Secondary Orange (#ff5500) appears on badges, status indicators, and secondary CTAs to create visual rhythm and urgency. Tertiary Purple (#6352fa) is used sparingly for tertiary actions, code snippets, and supplementary highlights. The neutral surface stack ranges from pure white (#ffffff) at the brightest to light gray (#e0e0e0) at the container-highest level, with intermediate stops at #f5f5f5, #f0f0f0, and #e9ecef to create subtle depth without visual noise. Text hierarchy is maintained through on-surface (#000000) for primary content, on-s

Typography

The type system employs a two-family strategy: Inter Display and Inter Tight for headlines and navigation (conveying precision and modernity), paired with Inter for body text and UI labels (ensuring readability at small sizes). Display (56px, 500 weight, -0.02em tracking) anchors hero sections and major page titles with generous line-height (64px) for breathing room. Headline-lg (32px, 600 weight) is used for section headers and card titles, while headline-md (28px, 600 weight) breaks up content areas. Body-lg (18px, 400 weight, 28px line-height) is reserved for introductory paragraphs and descriptions; body-md (16px, 400 weight, 24px line-height) serves as the default for card content and list items. Label-md (14px, 600 weight, 20px line-height, 0.01em tracking) is applied to buttons, tag

Layout

The layout system uses a 12-column grid with a max-width of 1200px, centered with symmetric gutters of 32px on desktop (reducing to 24px on tablet, 16px on mobile). The spacing scale is semantic: lg (40px) separates major sections (hero to products, products to footer); md (24px) is used for card padding and section internal spacing; sm (12px) for component internal spacing (button padding, input fields); xs (4px) for micro-interactions and icon spacing. The container-max of 1200px ensures content remains scannable and prevents line-length from exceeding 75 characters on body text. White-space is treated as a first-class design element: cards are separated by at least lg spacing (40px), and internal card padding uses md (24px) to create breathing room around content. The grid is fluid on m

Elevation & Depth

Depth is conveyed through a restrained shadow system rather than color shifts or borders alone. Level 1 (Base/Surface): no shadow; elements sit flush on the white background (#ffffff). Level 2 (Standard Cards): box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) with a 1px solid border at rgba(0, 0, 0, 0.05) to define card edges without heaviness. Level 3 (Elevated/Hover States): box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) applied on card-hover and modal overlays, paired with a background shift to surface-container-low (#f5f5f5) to create visual lift. Interactive elements (buttons, inputs) use no shadow

Shapes

The shape philosophy is 'Geometric Precision'—rounded corners are used strategically to soften hard edges without sacrificing the clean, technical aesthetic. Buttons use full (9999px) border-radius to create pill-shaped affordances that feel modern and clickable; this is the most rounded element in the system. Cards and containers use lg (1rem / 16px) border-radius to create a subtle, approachable feel while maintaining geometric clarity. Input fields and smaller components use md (0.75rem / 12px) border-radius to balance usability with visual hierarchy. Tags and badges use DEFAULT (0.5rem / 8

Components

Action Elements Buttons are the primary interaction primitive. Button-primary uses {colors.primary} (#0099ff) background with {colors.on-primary} (#ffffff) text, full border-radius (9999px), and padding of 16px 24px for a 44px total height. On hover, the background shifts to #0077cc (a 20% darker blue) with a 150ms ease-out transition; no shadow is added to avoid visual clutter. Button-secondary uses a transparent background with a 1px solid border at {colors.outline} (#999999), the same text color as primary, and md border-radius (16px). On hover, the background becomes {colors.surface-container-high} (#e9ecef) and the border shifts to {colors.outline-variant} (#cccccc). Both button variants use {typography.label-md} (14px, 600 weight) for consistent labeling. Disabled states reduce o

Do's and Don'ts

**Do**

  • Do use primary blue (#0099ff) exclusively for interactive elements—CTAs, links, focus states, and active navigation—to create a consistent, scannable action layer.
  • Do apply lg spacing (40px) between major sections and md spacing (24px) within cards to create breathing room and improve content scannability.
  • Do use Inter Display or Inter Tight for all headlines (display, headline-lg, headline-md) to convey precision and modernity; reserve Inter for body and label text.
  • Do add a 3px focus ring at rgba(0, 153, 255, 0.1) to all interactive elements (buttons, inputs, links) to meet WCAG AAA contrast and keyboard navigation requirements.
  • Do transition all interactive state changes (hover, focus, active) over 150–200ms with ease-out timing to provide tactile feedback without feeling sluggish.
  • Do use full border-radius (9999px) only on buttons to maximize affordance; use lg (16px) for cards and md (12px) for inputs to maintain visual hierarchy.

**Don't**

  • Don't use secondary orange (#ff5500) or tertiary purple (#6352fa) as primary CTAs—reserve those for badges, secondary actions, and status indicators to avoid visual confusion.
  • Don't apply shadows deeper than {elevation.lg} (0 8px 24px rgba(0, 0, 0, 0.12)) or use multiple layered shadows; the system uses a single, clean shadow per elevation level.
  • Don't mix font families within a single headline or body paragraph; use Inter Display/Tight for headlines and Inter for body to maintain typographic consistency.
  • Don't use border-radius values outside the defined scale (sm, DEFAULT, md, lg, xl, full); custom radii break the geometric precision aesthetic.
  • Don't apply background colors to navigation items unless they are active or hovered; default navigation should use text-only styling to reduce visual noise.
  • Don't use opacity-based text colors (e.g., rgba(0, 0, 0, 0.7)) for primary body text; use the defined on-surface and on-surface-variant tokens to ensure consistent contrast and accessibility.