Supabase design specDev Tools

Dark-first charcoal #131413 with one emerald #3ecf8e accent, Manrope headings over Inter, low-alpha white hairlines instead of shadows, and a deep-green bevelled CTA.

Browse Supabase in the interactive gallery

Captured from the live site's computed styles into a prompt-ready DESIGN.md you can paste into Cursor, v0, Lovable, Bolt or Claude Code. Below is a summary of each captured surface.

Marketing site

Source: supabase.com (live DOM, computed styles), 2026-07-08 (desktop 1512px). Coverage: marketing home + nav + hero + feature cards. Dashboard: pending login (needs-dashboard). Responsive: breakpoints from stylesheets only; mobile rendering not verified.

Visual Theme & Atmosphere

Dark-first developer aesthetic built on a near-black charcoal canvas with a single, iconic emerald-green accent. The chrome is almost entirely grayscale — near-white text on charcoal, with structure carried by ultra-low-alpha white hairline borders rather than shadows. Green appears sparingly: the logo mark, the primary CTA, one highlighted word in the hero headline, and inline code/terminal accents. A two-family type system (Manrope for headings, Inter for body/UI) keeps the surface engineered but slightly warmer than a pure-Inter dev tool. Everything is flat, dense, and terminal-adjacent. Feels: dark, technical, confident, open-source.

Color Palette & Roles

Neutrals (dark theme)

TokenHexRole / usage
canvas#131413Page background
surface-100#181a19Raised panels, cards, code blocks
text-primary#edefeeBody text, headings
text-muted#989a99Secondary/subhead text, captions
white#ffffffRare pure-white highlights
border-defaultrgba(242,242,242,.07)Hairline borders (most-used color on page)
border-cardrgba(243,243,243,.09)Card/panel dividers
border-strongrgba(240,240,240,.13)Secondary button border
surface-overlayrgba(255,255,255,.03)Secondary button fill, subtle hover

Accent (brand green)

TokenHexRole / usage
brand-500#3ecf8eSignature Supabase green: logo, links, highlighted headline word, code accents
brand-fill#006239Primary CTA background (deep green)
brand-borderrgba(63,205,142,.30)Primary CTA border (lighter green top-light)

Semantic (from CSS vars, HSL)

TokenValueRole
success-borderhsl(147 100% 12%)Success state
info-borderhsl(223 100% 12%)Info state
warning-borderhsl(60 100% 12%)Warning state
error-borderhsl(357 89% 16%)Error state

Rule: chrome is grayscale on charcoal; emerald green is reserved for brand, CTAs, links, and code. Rule: structure comes from very-low-alpha white hairlines (~.07–.13 alpha), never shadows.

Typography Rules

RoleSize/LineWeightFamily
Display (h1)46 / 46500Manrope
Section (h2)~32–36500Manrope
Subhead~20400Inter, #989a99
Body16 / 24400Inter
UI / buttons14450–500Inter
Nav items14500Inter

Patterns: Manrope headings at tight leading (46/46 — line-height equals size), weight capped at 500. Body/UI in Inter at 400–500. No bold 700 in chrome.

Also documented in the full DESIGN.md: Component Stylings, Layout Principles, Depth & Elevation, Motion, Backgrounds, Effects & WebGL, Do's and Don'ts, Responsive Behavior, Agent Prompt Guide.