Skip to content

Progressive Design System

Progressive's insurance site as a DESIGN.md: teal-blue #0077b3, 96 Sans display at weight 300, color tokens and components for React and AI tools.

Primary color
#0077b3
Typeface
96 Sans
Shape
Mixed
Base radius
5px
Colors
10
Type tokens
12
Components
14
Spacing values
8

About Progressive DESIGN.md

Curated by Dov Azencot, updated May 19, 2026. Source progressive.com (opens in a new tab).

Progressive's marketing site is defined by what it does not do. There are no brand-color fills dominating the hero — the above-fold band is photography of a family, overlaid with a white headline ("Better insurance starts here") in 96 Sans at weight 300. The quote form sits directly below in a white panel; the user's first click is into a ZIP code field, not a CTA button. Where GEICO leads with a mascot and navy authority, Lemonade leads with a serif challenge, and Cloudflare gives the entire hero canvas to its brand orange, Progressive gives the hero to a photograph and a web form. The philosophy is utilitarian: the product is the CTA, and the CTA is the form.

The DESIGN.md file packages the system into 10 colors tokens anchored on a near-charcoal ink (#2d2d2d at 467 occurrences), a teal-blue brand action color (#0077b3), and a pure white canvas. Typography runs 96 Sans — a custom proprietary family — with a condensed variant for nav and label contexts. Display headlines sit at weight 300, an unusually restrained choice: 36px/300 for the main section heading, 24px/300 for the hero h1. Body text drops to weight 400 at 12–16px. Twelve component definitions cover the photography hero band, the white quote-entry panel, the section info-card grid, the stats strip, and the footer link structure.

Feed this spec to Claude or Cursor and it reproduces Progressive's specific moves: photography hero with form-forward layout, weight-300 display in a custom sans at modest sizes, teal-blue as the sole interactive accent, minimal rounding (8px maximum on most surfaces), and near-charcoal ink rather than near-black. The system is not designed to impress on a first glance — it is designed to reduce the distance between arrival and quote submission. The typography restraint at weight 300 reads as institutional confidence rather than brand exuberance, which is appropriate for a 1937-founded incumbent addressing a trust-sensitive purchase category.

What makes it distinct

5 highlights

  1. Weight 300 as authority signal96 Sans at weight 300 runs hero headlines and display text; the lightest display weight of any insurance brand in the directory
  2. Photography-first heroThe above-fold band is a full-bleed dark navy photograph of a smiling family; copy and a quote form float over it in white
  3. Minimal CSS variable layerOnly 3 CSS custom properties are declared (all are string labels for UI elements); every color is hard-coded rather than token-referenced
  4. Teal-blue #0077b3 as the sole chromatic CTAAppears 22 times across background, text, border, and gradient; carries quote entry links and section divider accents
  5. 96 Sans Condensed for nav and UI labelsA narrower variant of the custom typeface handles the product-navigation tabs and condensed UI labels at 18px/700

Live at progressive.com

Progressive in production, as captured. Scroll the window to see the whole page.

Progressive's website at progressive.com

10 colors

Progressive's system runs on #0077b3 as its primary voltage, used in 2 of 14 components. Type is set in 96 Sans across 12 tokens from 12px to 48px, weights 300–700. Shape language is mixed across 14 components, blending pills, soft rounds, and squarer corners.

Brand & Accent

Sparing, CTA-only voltage · 1

Surface

Page and card backgrounds · 2

Text

Headlines, body, captions · 4

Borders & Hairlines

Dividers, outlines, rules · 2

Other

Specialty colors · 1

12 type tokens

Set in 96 Sans across 12 tokens, from 12px to 48px, weights 300–700. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.

  • display-lg48px · weight 700 · lh 56pxThe quick brown fox jumps over the lazy dog
  • display-md36px · weight 300 · lh 48pxThe quick brown fox jumps over the lazy dog
  • display-sm36px · weight 700 · lh 48pxThe quick brown fox jumps over the lazy dog
  • heading-lg24px · weight 300 · lh 32pxThe quick brown fox jumps over the lazy dog
  • heading-md18px · weight 700 · lh 25.2pxThe quick brown fox jumps over the lazy dog
  • heading-sm18px · weight 700 · lh 24pxThe quick brown fox jumps over the lazy dog
  • body-lg16px · weight 400 · lh 28pxThe quick brown fox jumps over the lazy dog
  • body-md14px · weight 400 · lh 21pxThe quick brown fox jumps over the lazy dog
  • body-sm12px · weight 400 · lh 21pxThe quick brown fox jumps over the lazy dog
  • label-upper12px · weight 700 · lh 21px · tracking 1.25pxThe quick brown fox jumps over the lazy dog
  • label-md14px · weight 700 · lh 24.5pxThe quick brown fox jumps over the lazy dog
  • caption13px · weight 400 · lh 16.9pxThe quick brown fox jumps over the lazy dog

Radii and spacing

6 corner radii and 8 spacing values. Shape language: mixed, on a 5px base radius.

Radii6

  • none0px
  • sm2.5px
  • md5px
  • lg8px
  • xl20px
  • full9999px

Spacing8

  • xs10px
  • sm12px
  • md14px
  • base16px
  • lg18px
  • xl20px
  • 2xl26px
  • 3xl40px

14 components

Each rendered from its tokens (color, type, radius, padding) on Progressive's own canvas.

  • Hero Band
    Hero Bandhero-band
  • Hero Heading
    Hero Headinghero-heading
  • Hero Subheading
    Hero Subheadinghero-subheading
  • Quote Panel
    Quote Panelquote-panel
  • Button Primary
    Button Primarybutton-primary
  • Button Secondary
    Button Secondarybutton-secondary
  • Top Nav
    Top Navtop-nav
  • Nav Link
    Nav Linknav-link
  • Section Heading
    Section Headingsection-heading
  • Body Paragraph
    Body Paragraphbody-paragraph
  • Stat Number
    Stat Numberstat-number
  • Card
    Cardcard
  • Type here…
    Text Inputtext-input
  • Footer
    Footerfooter

The system, in use

Progressive's tokens on the kind of product it builds.

Marketing heroThe homepage: its nav, a headline and the main call to action.
Open account

Money that moves as fast as you do

Send, save and spend with an account built for the way you live and work.

Open an accountSee how it works
A
Gross volume$84,210
Net balance$23,904
Payments1,284
Disputes3
Gross volumeLast 30 days
CheckoutPaying: the order summary beside the card form.
Secure checkout
Checkout$321.84
Wireless headphonesBlack · Qty 1$249.00Travel caseQty 1$49.00Tax$23.84
Total$321.84
Emailyou@example.comCard information1234 1234 1234 1234VISAMCAMEXExpiryMM / YYCVCCVCPay $321.84

Progressive design system FAQ

Progressive's tokens, its components and how to use this DESIGN.md in your project.

What are the color tokens in the Progressive DESIGN.md?

Progressive's DESIGN.md has 10 color tokens: ink (#2d2d2d), ink-dark (#000000), ink-muted (#707070), primary (#0077b3), canvas (#ffffff), hairline (#d1e2e5) and 4 more. Every value is a quoted hex you can copy.

What is Progressive's primary color hex code?

The color token `primary` is #0077b3, used by 2 components. The surface behind it is `canvas` (#ffffff).

How do I use Progressive's colors in Tailwind CSS?

Map the tokens to your CSS variables: `primary` (#0077b3) to `--primary`, `canvas` (#ffffff) to `--background`, `ink` (#2d2d2d) to `--foreground`. shadcn/ui's Tailwind setup maps them to classes such as `bg-primary` and `text-foreground`, so they then use Progressive's palette.

What is Progressive's primary brand color?

Progressive's primary interactive color is teal-blue #0077b3, appearing 22 times in the captured marketing page across background (1), text (9), border (10), and gradient (2) roles. It carries quote-entry section links, the section divider color strip, and appears inside the gradient treatments that frame the hero quote form. Progressive is unusual in exposing almost no CSS custom properties — only 3 are declared, all string labels. Every color on the page is hard-coded rather than referencing a token layer, which means there is no single canonical CSS variable name to cite for the brand color.

Use Progressive in your project

One machine-readable file. Drop it into Claude Code, Cursor, VS Code or any AI tool that reads DESIGN.md.

Download DESIGN.md
  1. Download the DESIGN.md

    One machine-readable file: every color, type, radius, spacing, and component token of Progressive.

  2. Feed it to your AI tool

    Drop it into Claude, Cursor, or GitHub Copilot. The agent writes React components and Tailwind classes that match Progressive's visual language.

  3. Reference the tokens directly

    Or paste the values into your Tailwind config, CSS variables, or component library: every color, size and radius is a quoted, ready-to-copy value.

Read the full DESIGN.md overview, rationale, do’s and don’ts

Overview

Progressive's marketing site does something counterintuitive for an insurance brand. Whispered authority: the hero headline — "Better insurance starts here" — is rendered in 96 Sans at weight 300 and just 24px, white text over a full-bleed photography of a smiling family. This is the system's quietest typographic moment, chosen for the most prominent position on the page. Where GEICO answers with weight 700 and a navy CTA, and Lemonade opens with a 55px serif challenge, Progressive whispers. The restraint is deliberate: an established company since 1937 does not need to earn attention through typographic force.

The page's dominant interaction surface is the quote form, not a brand CTA. The above-fold layout places a white quote-entry panel directly adjacent to the photography band, with product-type tabs (Auto, Home, Renters, Condo, Motorcycle, Life, Boat, Commercial) and a ZIP code input as the first user interface. The "Get a quote" submit action is the first primary button — not a marketing CTA but a functional entry point. Unlike most insurance or fintech marketing sites that route users through a CTA to a separate flow, Progressive embeds the form directly in the hero as its primary conversion surface.

The color system is sparse. Near-charcoal {colors.ink} (#2d2d2d, frequency 467) dominates as the text and border tone — in the same near-dark register as GEICO's ink but without the slight warm cast that GEICO's value carries. The teal-blue {colors.primary} (#0077b3) handles all interactive surfaces — links in the "learn more" blocks, the quote-form gradient band, the photo-card section CTAs. The extracted nav links render in browser-default blue (#0000ee, frequency 52), which is either an intentional accessibility choice or an artifact of the site's sparse CSS variable structure — only 3 CSS custom properties are declared, all of them string labels rather than color values.

Key Characteristics:

  • 96 Sans at weight 300 runs every display and hero heading — the lightest display weight among all insurance brands in the directory.
  • Photography-first hero with an embedded quote form; the brand's conversion surface is in the hero, not behind a CTA.
  • Teal-blue {colors.primary} (#0077b3, frequency 22) is the sole chromatic interactive accent; all other visible color is structural grey or near-charcoal.
  • Near-charcoal {colors.ink} (#2d2d2d, frequency 467) is the dominant text color — 234 text occurrences, 233 border occurrences.
  • Near-zero CSS variable layer — only 3 custom properties declared; colors are hard-coded rather than token-referenced.
  • 8px maximum card radius; the system does not use mid-range or pill radii for card surfaces.
  • Browser-default blue (#0000ee, 52 occurrences) used for nav links — either an intentional accessibility decision or a consequence of sparse CSS styling.

Colors

Brand

  • Primary Teal ({colors.primary} — #0077b3): frequency 22. Used as text (9), background (1), border (10), gradient (2). Progressive's sole chromatic interactive color — carried by quote-section link text, the hero gradient band, and section CTAs ("Learn more about our insurance products").

Structural

  • Ink ({colors.ink} — #2d2d2d): frequency 467. Used as text (234), border (233). The dominant text and hairline tone — a near-charcoal that sits darker than GEICO's ink but without a warm cast.
  • Ink Dark ({colors.ink-dark} — #000000): frequency 116. Used as text (59), border (57). Pure black appearing on headline elements and form inputs. Not a shadow; a harder text tone on specific high-contrast surfaces.
  • Ink Muted ({colors.ink-muted} — #707070): frequency 46. Used as text (23), border (23). Mid-grey for secondary text labels and footnote rows.
  • Canvas ({colors.canvas} — #ffffff): frequency 13. Background fills on the quote panel, below-fold sections, and the footer. The page floor for all non-photography content zones.
  • Link Default ({colors.link-default} — #0000ee): frequency 52. Used as text (28), border (24). Browser-default hyperlink blue, used for nav links and in-body anchor text. Not wired to a CSS variable; this is the browser's default link color, indicating minimal link-color override in the nav.

Hairline

  • Hairline ({colors.hairline} — #d1e2e5): frequency 2 as border. Light steel-blue hairline used for card borders and form input outlines in the quote panel.
  • Hairline Dark ({colors.hairline-dark} — #91b0bf): frequency 4 as border. A slightly darker steel-blue for more visible form input outlines.

Accent

  • Surface Teal ({colors.surface-teal} — #4ebee5): frequency 1 as shadow. A lighter sky-teal appearing as a shadow element on one component — likely the progress indicator or the hero gradient edge.
  • Shadow ({colors.shadow} — #cccccc): frequency 1 as shadow. The only grey shadow in the system, used on a single card elevation.

Typography

Font Family

Progressive runs 96 Sans — a custom proprietary typeface — across every surface, with a narrower variant 96 Sans Condensed appearing for navigation tab labels and condensed UI contexts. Fallbacks walk to Arial, sans-serif. There is no serif tier and no mono voice. The family name "96" references Progressive's founding year combined with the design direction; it is not publicly licensed.

Hierarchy

TokenSizeWeightLine HeightUse
{typography.display-lg}48px70056pxLarge stat numbers ("Over $900+" savings figure)
{typography.display-md}36px30048pxSection h2 ("A leading insurance company, trusted since 1937")
{typography.display-sm}36px70048pxBold stat emphasis within the stats strip
{typography.heading-lg}24px30032pxHero h1 ("Better insurance starts here")
{typography.heading-md}18px70025.2px96 Sans Condensed — nav product tabs and section sub-headers
{typography.heading-sm}18px70024pxSection sub-heads ("Why we're Progressive")
{typography.body-lg}16px40028pxParagraph body and form field text
{typography.body-md}14px40021pxCard body copy, secondary descriptions
{typography.body-sm}12px40021pxDominant nav and footer link size; 46 occurrences
{typography.label-upper}12px70021pxUppercase tracked labels (1.25px tracking) — section category markers
{typography.label-md}14px70024.5pxBold link labels, CTA text
{typography.caption}13px40016.9pxSmall metadata, caption rows

Principles

Weight 300 at 24–36px is the system's display tier — the display ladder runs from whisper (24px/300) to measured statement (36px/300), never reaching for bold. The bold tier (weight 700) is reserved for stats ("Over $900+"), nav labels, section category tabs, and UI control labels — surfaces where the user needs to scan quickly, not where the brand is making an impression. This is the inverse of GEICO's weight discipline: GEICO uses 700 for everything important; Progressive uses 300 for everything important and 700 for everything functional.

The condensed variant (96 Sans Condensed) handles 9 occurrences at 18px/700, concentrated in the product-navigation tab set at the top of the quote form and in the photo-card sub-section links below the fold.

Substitutes

96 Sans is not publicly available. Inter at weight 300 is the closest open-source substitute for display and hero headings. For the condensed variant, Barlow Condensed or Public Sans Condensed transfer the narrower proportions at 18px/700. The uppercase tracked labels (1.25px) pair with any geometric sans at weight 700.

Layout

Spacing System

  • Base unit: 18px (18 occurrences) — the dominant single-value padding token.
  • Tokens: {spacing.xs} 10px · {spacing.sm} 12px · {spacing.md} 14px · {spacing.base} 16px · {spacing.lg} 18px · {spacing.xl} 20px · {spacing.2xl} 26px · {spacing.3xl} 40px.
  • Hero vertical padding: 50px top, 20px bottom — the hero band uses more top padding than bottom to give breathing room above the headline.
  • Quote panel: 20px internal padding. The form's product-type tabs sit at 0px padding (flush to the panel top).
  • Nav: 18px top/bottom padding on nav links, 20px horizontal — creating tall click targets for the product tab strip.

Grid & Container

  • Hero layout: two-column split — photography + headline left (60%), white quote-form panel right (40%).
  • Stats strip: 3-column centered bar with teal-bordered left edge, displaying "Over $900+" / "43 million+ customers" / "24/7/365 support."
  • Product information section: 5-column grid linking to Auto, Home, Renters, Condo, and Commercial, each with a photo-card, title, description, and "Learn more" teal link.
  • "Why we're Progressive" section: 3-photo editorial grid with heading and sub-copy.
  • Footer: dense multi-column link structure, 4–5 columns wide, with "Are you an agent?" secondary link strip below.

Rhythm

The page alternates between photography-density (hero band, product-card grid, editorial grid) and text-density (stats strip, information accordion panels, footer). Unlike Cloudflare's dramatic alternation between edge-to-edge product and constrained editorial, Progressive maintains a more even density throughout — the page never fully goes quiet, and there is no section with generous whitespace comparable to Lemonade's illustration band or GEICO's stats section.

Elevation

The system has minimal elevation. The extracted shadow colors are a single light grey (#cccccc at 1 occurrence) and a light teal (#4ebee5 at 1 occurrence, possibly a gradient edge). Card surfaces lift from the white canvas via 1px hairline borders at {colors.hairline} (#d1e2e5) rather than box shadows. The quote-entry panel floats over the hero photography via background-color contrast (white panel on dark photography) rather than a shadow layer.

  • Flat: hero text, stats strip, editorial grid, footer — essentially the entire page.
  • Hairline card borders: {colors.hairline} (#d1e2e5) and {colors.hairline-dark} (#91b0bf) on the quote panel and information cards.
  • No tinted shadow: the system does not use tinted elevation in any captured surface.

Shapes

The radius scale is minimal and conservative:

  • {rounded.none} 0px — hero text elements, form inputs, section headings, footer.
  • {rounded.sm} 2.5px — smallest surface element; appears once in the extracted radii.
  • {rounded.md} 5px (2 occurrences) — small secondary surfaces.
  • {rounded.lg} 8px (5 occurrences, dominant card radius) — the quote panel, information cards, the stat strip container.
  • {rounded.xl} 20px (2 occurrences) — CTA button radius; a rounded-but-not-pill treatment.
  • {rounded.full} 9999px — not explicitly captured but used for circular avatar images in the editorial grid.

Unlike Lemonade's full-pill CTAs at 50px or Cloudflare's binary small-step-plus-pill system, Progressive's primary buttons use a 20px radius — visibly rounded but not circular, signaling a functional form-like surface rather than a consumer app action.

Components

hero-band — Full-bleed dark photography, white headline text at {typography.heading-lg} (24px/300), 50×0×20px vertical padding. The photography subject matter — families, homes — is the brand statement.

hero-heading — White canvas text at {typography.display-md} (36px/300) used for the primary section headline below the hero photography band ("A leading insurance company, trusted since 1937").

hero-subheading — Same 24px/300 weight in white — used for the above-fold headline ("Better insurance starts here") floating over the photography.

quote-panel — White canvas fill, {rounded.lg} 8px radius, 20px padding, {colors.hairline} border. Houses the product-type tab strip, the ZIP code input, and the submit CTA. The page's primary conversion surface.

button-primary — Teal {colors.primary} fill, white text at {typography.label-md}, 20px radius, 12×20px padding, 44px height. "Get a quote" in the form panel; "Learn more" inline links in the product grid.

button-secondary — White canvas fill, teal {colors.primary} text and 1px teal border, 20px radius, 10×18px padding, 40px height. Secondary actions like "See all coverage" in the product section.

top-nav — White canvas, near-black text at {typography.body-sm} (12px/400), 56px height, 18×10px padding. Progressive Flo logo left, product links center, "Log in" / "1-800" right.

nav-link — Transparent fill, browser-default blue {colors.link-default} (#0000ee) text at {typography.body-sm}, 20×10px padding. The nav link color is the browser's default, not a styled token.

section-heading — Ink charcoal at {typography.display-md} (36px/300). Below-fold section headings in near-charcoal on white.

body-paragraph — Ink charcoal at {typography.body-sm} (12px/400, the dominant body size by count — 46 occurrences). The main body copy runs at 12px — smaller than GEICO (16px) or Lemonade (16px).

stat-number — Display-lg type (48px/700) in {colors.ink} on transparent background. The stats strip numbers ("Over $900+ / 43 million+ / 24/7/365").

card — White canvas, 1px {colors.hairline} border, {rounded.lg} 8px radius, 18px padding. Information section cards for the product grid.

text-input — White canvas, near-black text at {typography.body-lg}, no radius (0px — square corners), 35px height, left-padded 33.6px for icon clearance. The ZIP code field in the quote panel.

footer — White canvas, muted ink {colors.ink-muted} text at {typography.body-sm}, multi-column link grid, 26px top/bottom padding.

Do's and Don'ts

Do lead with the quote form in the hero. Progressive's above-fold layout embeds the form directly rather than routing through a CTA; this form-forward approach is the system's clearest distinction from other insurance marketing patterns.

Do keep display and hero headings at weight 300. The 36px/weight-300 section heading is the system's calibrated expression of institutional authority — bumping to weight 400 or 700 immediately reads as a different brand register and undermines the restraint signal.

Do use the {colors.primary} teal (#0077b3) exclusively for interactive surfaces — links, form submit buttons, gradient accents. The system has only this one chromatic non-structural color, and diluting it across non-interactive elements (section headings, card titles) would collapse the visual distinction between action and information.

Do run body copy at 12px/400 ({typography.body-sm}). The dominant body text size extracted from the page is 12px — 46 occurrences — not 16px. Using 16px body text would shift the information density and make the page read as more editorial than utilitarian.

Don't use browser-default blue (#0000ee) for CTA buttons or primary actions. The {colors.link-default} value appears in nav links and in-body anchors as an apparent residual of minimal link styling — it signals a hyperlink role. CTAs must use {colors.primary} (#0077b3) to distinguish brand-owned interactive surfaces from generic hyperlinks.

Don't apply the 20px button radius ({rounded.xl}) to card surfaces. The system uses 8px card radius and 20px button radius as two distinct signals: cards feel like informational containers, buttons feel like rounded actions. Applying 20px to a card would blur that distinction.

Don't replace the photography hero with a brand-color fill. Progressive's hero is a photo band precisely because the brand identity does not rely on a distinctive chromatic move (the way Cloudflare's orange or Lemonade's magenta does). Replacing the photography with a teal fill would look like a different brand entirely — and would also lose the form-forward layout, which requires the visual anchor of the photography to make the white form panel readable against it.

Don't drop the 96 Sans Condensed variant for the product-navigation tabs. The condensed variant at 18px/700 provides the visual density needed to fit 8 product types (Auto, Home, Renters, Condo, Motorcycle, Life, Boat, Commercial) in a horizontal tab strip without wrapping. Substituting non-condensed type at the same size breaks the tab layout.

Known Gaps

  • Primary button extraction: the extractor did not capture a primary button element (primaryButton: null). The button styles are reconstructed from the typography extraction and the {colors.primary} teal; the actual button component may have different padding or height values than those documented here.
  • Hero photography: the specific photography, subject matter, and image treatment are outside the scope of a design token spec. The brief here describes only the overlay text and form panel styles, not the photography direction.
  • No CSS variable layer: Progressive exposes only 3 CSS custom properties — all string labels. Every color is hard-coded. This means there is no token variable path to resolve in production code; developers must reference hex values directly rather than using var() references.
  • Hover and focus states: the extraction captures resting states only. Focus ring color, button hover tint, nav link hover background, and form input focus border are not documented.
  • Mobile layout: the quote-form panel likely stacks to a full-width single column on mobile, collapsing the 60/40 hero split. This responsive behavior is not captured from the desktop extraction.
  • Flo mascot and campaign assets: the Progressive Flo character and related campaign-specific illustration or photography are brand assets not captured as design tokens.

More systems like this

Afterpay, Barclays, Betterment and 47 more in Banking & Payments: each brand's colors, type and components in one file your AI agent builds from.

Build it with Pro

The DESIGN.md files are free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds in your system for you.

4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.

Billed once a year in USD. Cancel anytime.

Individual

For personal projects & open source

$32instead of $49/mo

$389 billed yearly

  • How many people can use the license.Seats: 1 seat
  • Client work, SaaS products and anything you charge for.Commercial use: Personal & open source only
  • Page sections in 56 categories, from heroes and pricing tables to dashboards and settings, on every framework and UI library, in your theme.Blocks: All 6,181 blocks
  • Complete Next.js sites for startups, SaaS, agencies and portfolios, every page designed, ready to ship.Templates: All 14 templates
  • Your AI agent searches, previews and installs any component, block, icon or DESIGN.md from a prompt: 22 tools in Claude Code, Cursor, VS Code and 35 more clients.MCP server: 38 AI clients
  • Buttons with motion and states of their own, from an arrow that slides in to a burst of confetti.Animated buttons: All 35 buttons
  • Typewriters, scrambles, counters and more, for headlines, labels and numbers.Text effects: All 97 effects
  • Animated backgrounds for heroes, sections and cards, from a soft aurora to a flock that flees the cursor. Most are pure CSS.Backgrounds: All 100 backgrounds
  • WebGPU shaders, from a slow aurora to a black hole, each drawing only while it's on screen.Shaders: All 100 shaders
  • One design and one theme on all four: the components, blocks and effects are built for each framework.Frameworks: React, Vue, Svelte, Solid
  • React on Base UI, Radix UI, React Aria or Ark UI: install the version for the library your project already uses. Vue, Svelte and Solid run on Ark UI.UI libraries: Base UI, Radix, Aria, Ark
  • From a button to a date picker, a color picker or a guided tour: accessible, typed in TypeScript, each with live demos.Components: All 174 components
  • Real-world patterns built from the components, in 53 galleries: forms, tables, menus, dialogs and more.Examples: All 1,103 examples
  • Area, bar, line, pie, radar and radial charts on TanStack Charts, on every framework. React also gets the Recharts originals.Charts: All 70 charts
  • Debounce, local storage, media queries and more: each hook is one typed file you own.React hooks: All 35 hooks
  • From 222 libraries, Lucide, Heroicons, Tabler and Material Symbols among them, as SVG or a React component in one command.Icons: 294k+ icons
  • Stripe, Linear, Apple and 497 more: a brand's colors, typography and components in one file your AI agent builds from.DESIGN.md files: All 500 brands
  • Restyle every component and block at once: 8 styles, 7 grays, 18 colors and 5 radii, shared as a shadcn preset code.Theme builder: 8 styles × 18 colors
  • Priority requests are answered first.Support: Standard

Team

Most popular

For freelancers, agencies & startups

$66instead of $99/mo

$789 billed yearly · ≈ $13/dev/mo

Everything in Individual, plus

  • How many people can use the license.Seats: Up to 5 seats
  • Client work, SaaS products and anything you charge for.Commercial use: Included
  • Priority requests are answered first.Support: Priority

Organization

For companies with larger teams

$132instead of $199/mo

$1,589 billed yearly

Everything in Team, plus

  • How many people can use the license.Seats: Unlimited seats
  • Secure checkout via Stripe
  • Code lives in your repo
  • Keep what you've shipped if you cancel
  • License terms

4.9 out of 5 from 150+ developers

Your system, built for you

Every block, template and icon, installed by your AI agent in your design system. The DESIGN.md files stay free.

Get Pro
  • Cancel anytime
  • Keep what you've shipped