Skip to content

Supabase Inspired Design System

Supabase's design system as a DESIGN.md file. Emerald #3ecf8e, Circular at weight 500, 27 colors, 16 components. For React, Next.js, and AI tools.

Add shadcn.io to your AI agent. · Pro It installs blocks, icons and templates in your design system from a prompt, with Pro.

Set up MCP
Primary
#3ecf8e
Typeface
Circular
Shape
Mixed
Base radius
8px
Colors
27
Type tokens
12
Components
16
Spacing values
8

About

About Supabase Inspired DESIGN.md

Curated by Dov Azencot · Updated May 12, 2026 · Source supabase.com (opens in a new tab)

Supabase's design language is the open-source Postgres platform translated into a near-monochrome marketing surface. The canvas commits to pure white (#ffffff), text sits in near-black (#171717), and the only chromatic event across the entire page is a single emerald green (#3ecf8e) — used as the filled CTA background, the dot accent in the wordmark, and an occasional indicator. Everything else is a calibrated grey ladder from #ededed hairlines through #707070 mute text up to #171717 ink. There is no atmospheric gradient, no full-bleed photography, no dark marketing track. The brand commits to white the way Stripe commits to indigo gradients — with conviction.

This page packages the system into a single DESIGN.md file in the Google Labs open spec. Inside: 27 colors tokens (3 emerald variants, 8 accent points reserved for chart and logo work, 5 surface fills, 6 text grades), 13 typography styles running Circular at weight 500 for display and 400 for body, 6 radius tokens topping out at 16px, an 8-token spacing scale anchored at 8px, and 16 components recipes spanning the green primary button, the inverted dark pricing tier, the canvas-night code block at #1c1c1c, and the composited product UI mockup pattern that does most of the page's visual work.

Feed the file to Claude, Cursor, or GitHub Copilot and the agent reproduces Supabase's specific restraint — square-ish 6px buttons, near-black text on emerald (never white), display tracking pulled tight at -1.92px, and a white canvas that refuses to fill itself with gradients. Reference the tokens directly inside Tailwind config or use it as a brand audit checklist. The system is worth studying because it proves a developer-facing brand can ship marketing without a single decorative flourish — the product screenshots ARE the decoration.

What makes it distinct

5

  1. Single emerald voltage#3ecf8e fills CTAs, dot accents, and the wordmark; nothing else is chromatic on the page
  2. Near-black text on greenthe primary button uses #171717 ink on #3ecf8e, not white, which reads as a lit surface
  3. Display tier at weight 500 with -1.92px tracking at 64pxCircular pulled into engineered editorial density
  4. Composited product UI mockups are the brand's argumentdashboards and SQL editors replace illustrations and photography entirely
  5. Square-ish 6px button radiusnever pill-shaped; the brand reads as technical, not friendly

supabase.com

Live at supabase.com

A snapshot of the brand in production. Scroll the frame to see the whole page.

Supabase Inspired's website at supabase.com

Colors

27 colors

Supabase Inspired's system runs on #3ecf8e as its primary voltage, used in 2 of 16 components. Type is set in Circular across 12 tokens from 12px to 64px, weights 400–500. Shape language is mixed across 16 components, blending pills, soft rounds, and squarer corners.

Brand & Accent

Sparing, CTA-only voltage · 11

Surface

Page and card backgrounds · 4

Text

Headlines, body, captions · 7

Borders & Hairlines

Dividers, outlines, rules · 5

Typography

12 type tokens

Set in Circular across 12 tokens, from 12px to 64px, weights 400–500. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.

  • display-xxl64px · weight 500 · lh 1.1 · tracking -1.92pxThe quick brown fox jumps over the lazy dog
  • display-xl48px · weight 500 · lh 1.1 · tracking -1.44pxThe quick brown fox jumps over the lazy dog
  • display-lg36px · weight 500 · lh 1.15 · tracking -0.72pxThe quick brown fox jumps over the lazy dog
  • display-md28px · weight 500 · lh 1.2 · tracking -0.42pxThe quick brown fox jumps over the lazy dog
  • heading-lg22px · weight 500 · lh 1.2The quick brown fox jumps over the lazy dog
  • heading-md18px · weight 500 · lh 1.4The quick brown fox jumps over the lazy dog
  • body-lg18px · weight 400 · lh 1.55The quick brown fox jumps over the lazy dog
  • body-md16px · weight 400 · lh 1.5The quick brown fox jumps over the lazy dog
  • button-md14px · weight 500 · lh 1The quick brown fox jumps over the lazy dog
  • caption13px · weight 400 · lh 1.45The quick brown fox jumps over the lazy dog
  • micro12px · weight 400 · lh 1.45The quick brown fox jumps over the lazy dog
  • code14px · weight 400 · lh 1.5The quick brown fox jumps over the lazy dog

Layout

Radii and spacing

6 corner radii and 8 spacing values. Shape language: mixed.

Radii

  • xs4px
  • sm6px
  • md8px
  • lg12px
  • xl16px
  • full9999px

Spacing

  • xxs2px
  • xs4px
  • sm8px
  • md12px
  • lg16px
  • xl24px
  • xxl32px
  • huge64px

Components

16 components

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

  • Button Primary Green
    button-primary-greenButton Primary Green
  • Button Primary Green Pressed
    button-primary-green-pressedButton Primary Green Pressed
  • Button Secondary Outline
    button-secondary-outlineButton Secondary Outline
  • Button On Dark
    button-on-darkButton On Dark
  • Button Link
    button-linkButton Link
  • Type here…
    text-inputText Input
  • Card Feature Light
    card-feature-lightCard Feature Light
  • Card Pricing
    card-pricingCard Pricing
  • Card Pricing Featured
    card-pricing-featuredCard Pricing Featured
  • Card Feature Dark
    card-feature-darkCard Feature Dark
  • Code Block
    code-blockCode Block
  • Pill Tag Green
    pill-tag-greenPill Tag Green
  • Pill Tag Soft
    pill-tag-softPill Tag Soft
  • Nav Bar Light
    nav-bar-lightNav Bar Light
  • Link On Light
    link-on-lightLink On Light
  • Footer Light
    footer-lightFooter Light

In use

The system, in use

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

Build something people actually use.

A short paragraph of marketing copy that previews how the brand's display tier and body tier read together. Two sentences is usually enough.

Get startedLearn more
Marketing heroHeadline, sub-copy, primary CTA — the universal homepage opener.

FAQ

Supabase Inspired design system FAQ

Common questions about Supabase's tokens, components, and how to use this DESIGN.md in your project.

Read next

Specs, directories, and component libraries that pair with this design system.

Use it

Use Supabase Inspired in your project

One machine-readable file. Drop it into Claude, Cursor, 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 Supabase Inspired.

  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 Supabase Inspired'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

Supabase's design language is engineered for clarity above all else. The marketing surfaces sit on {colors.canvas} (pure white #ffffff), with text rendered in {colors.ink} (#171717 — near-black, never pure black). Across the entire system the only consistent chromatic event is the emerald green primary ({colors.primary} — #3ecf8e) — used as the filled CTA, occasional accent dot, and the signature highlight color in the wordmark. Everything else is a calibrated grey ladder from #ededed hairline-cool to #171717 ink, with thin black-on-white typography doing most of the visual work.

Typography runs Circular at weight 500 for display and 400 for body. The display tier uses tight negative letter-spacing (-1.92px at 64px) to pull the rounded humanist letterforms into editorial density. There's no atmospheric gradient, no full-bleed photography, no dark-canvas marketing track — the brand commits to white.

The product itself appears as composited UI screenshots on every page: dashboard tables, SQL editors, query builders, log streams. These screenshots are the brand's argument. They sit inside {rounded.lg} 12px containers with subtle 1px hairlines, often arranged 2-up or in a floating "stacked panes" composition above the hero band.

Key Characteristics:

  • Single emerald primary ({colors.primary} #3ecf8e) as the only chromatic event; everything else is monochrome.
  • White canvas marketing track with greyscale hierarchy from {colors.hairline-cool} (#ededed) to {colors.ink} (#171717).
  • Custom humanist sans display tier at weight 500 with negative letter-spacing of -1.92px to -0.42px.
  • Composited product UI screenshots (dashboard, SQL editor, log stream) are the dominant decorative element — never photography, never illustrations.
  • Tight 6px / 8px button radii — square-ish, technical, never pill-shaped.
  • Code blocks rendered in deep {colors.canvas-night} (#1c1c1c) with monospace inline code; the brand's developer DNA is visible in every snippet.
  • Pricing tiers use a dark inverted {colors.canvas-night} featured tier, not a green one — the green is reserved for buttons and dot accents.
  • Near-black #171717 text on the emerald button (not white) — the green reads as a "lit" surface with dark type, which is the brand's idiosyncratic choice.

Known Gaps

  • In-product dashboard chrome: table header densities, SQL-editor syntax-highlighting palette, and log-stream row treatments live inside the product app and weren't captured on the public marketing surfaces.
  • Focus rings: form inputs document the border and padding but not the focus-ring color, width, or offset on :focus-visible.
  • Hover-state colors: beyond the documented pressed state at {colors.primary-deep} (#24b47e), hover-state lifts on cards and link rows were not consistently observable.
  • Empty / loading / skeleton screens: not visible on the captured marketing pages.
  • Toast and inline-alert system: semantic info / success / warning / error treatments aren't represented in the marketing track.
  • Dark-mode marketing variant: the product app defaults to dark but the marketing site commits to white; the inverse mapping (which tokens swap in a dark marketing build) isn't captured.

Backend, Database & DevOps

More systems like this

More DESIGN.md files in Backend, Database & DevOps.

Pricing

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
  • Production-ready React sections: hero, pricing, features, dashboards and more.Pro blocks: 6,000+ blocks
  • Complete multi-page sites you can ship as they are.Templates: All 14 templates
  • React icons from every major library, installable with one command.React icons: 294k+ icons
  • Presets that restyle every block, in light and dark.Themes: All 59 themes
  • Lets your AI editor search, preview and install blocks for you.MCP server: Basic usage
  • 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
  • Lets your AI editor search, preview and install blocks for you.MCP server: High usage
  • 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
  • Lets your AI editor search, preview and install blocks for you.MCP server: Unlimited usage
  • Secure checkout via Stripe
  • Code lives in your repo
  • Keep what you've shipped if you cancel
  • License terms

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