Back to blog

Vercel Design System Breakdown

A Vercel design system breakdown: the 4-stop grayscale, Geist type rules, shadow-as-border surfaces, and double-ring focus — distilled for AI coding agents.

Jul 8, 2026GetDesignMDGetDesignMD

Vercel's interface is the reference point for "engineered minimalism" — the look half the industry asks their AI agents for and rarely gets. This Vercel design system breakdown walks through the decisions that actually produce the effect: a grayscale so disciplined it has four stops, a proprietary typeface with three permitted weights, shadows doing the work of borders, and one blue that appears only when something is interactive. The full token-level reference lives in our Vercel design md; this article explains the why behind the rules.

Color: an achromatic system with one exception

The palette is functionally monochrome. Canvas is near-white #FAFAFA, elevated surfaces are pure white, recessed controls sit at #F2F2F2, and text runs from ink #171717 through secondary #4D4D4D to muted #8F8F8F. That's the whole stage.

Blue #0072F5 is the single chromatic actor, and its casting rule is strict: links, focus rings, active states — interactivity and nothing else. Status colors (greens, ambers, reds, purples) exist but are confined to ~10px indicator dots. Never a background fill, never a decorative wash. The discipline is the brand: when color is this scarce, a blue word is unambiguously a link and a red dot is unambiguously an alert.

Agent rule that falls out of this: "No color except #0072F5, and only on interactive elements" is a checkable constraint. Put it in your do's and don'ts and drift becomes visible in review.

Typography: Geist and the three-weight rule

Vercel's Geist Sans (interface) and Geist Mono (code, technical labels) enable ligatures and cover every text role with exactly three weights: 400 for body, 500 for UI emphasis and code, 600 for display headings. There is no 700 anywhere. Emphasis comes from size and spacing, not boldness — semibold is the ceiling.

The most distinctive trait in any Vercel design system breakdown is the aggressive negative tracking at display sizes: h1 at 48px runs -2.28px of letter-spacing (about -4.75%), h3 at 32px runs -1.28px. Headlines compress into dense, engineered blocks. At body sizes tracking returns to normal — the tightening is a display-only effect.

h1 {
  font-size: 48px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -2.28px;
}

Geist is open source, which makes this system unusually portable: your agent can implement it with the real typeface, not an approximation.

Surfaces: shadows instead of borders

Vercel cards rarely use border. Instead a two-layer box-shadow simulates one: 0 0 0 1px in a low-alpha black plus a surface-aware layer. The practical difference from a real border: the "border" doesn't consume layout space and can layer with elevation shadows on hover.

Focus states use the signature double ring: a 2px white inner ring creating separation, then a 4px blue outer ring — 0 0 0 2px #fff, 0 0 0 4px #0072F5. It reads clearly on any surface color, which single-ring focus styles don't.

Buttons follow a ghost-first pattern: transparent default, #EBEBEB fill plus text promotion to ink on hover. No transforms, no transitions on color alone — interaction feedback is purely chromatic and instantaneous.

Spacing and composition

Layout runs on a 4px base with generous section padding; content max-width sits near 1080px for marketing surfaces. Density is communicated through information, not decoration — tables and monospaced labels do the visual work that other brands assign to icons and illustration. Empty space is treated as a first-class element: whole hero sections are one headline, one sentence, and one CTA on 200px of canvas.

What to copy — and what to adapt

Copy the discipline mechanisms directly:

  • Four-stop grayscale hierarchy with named roles
  • One interactive accent, forbidden everywhere else
  • Weight ceiling (600) with negative display tracking
  • Shadow-as-border cards, double-ring focus

Adapt rather than clone the aesthetic outcome. A health-care product wearing Vercel's stark monochrome reads cold; the transferable idea is scarcity as signal — pick your one accent and enforce it with the same rigor.

Using this with an AI agent

Drop the full Vercel design md into your repo and reference it from CLAUDE.md or .cursor/rules (setup guides: Claude Code, Cursor). The rules in this Vercel design system breakdown are unusually agent-friendly precisely because they're prohibitions with exact values — "never weight 700", "blue only on interactive" — the kind of constraint a model can self-audit against.

Want the same treatment for your own product? Paste your URL into the DESIGN.md generator and get a grounded file extracted from your real styles.