Skip to main content

Design language comparison

Contra vs Supabase

Contra runs a light-canvas system while Supabase chose dark, and they pair different display families (GT Standard M vs Circular). Beyond surface, motion divides them — Contra is expressive, Supabase is moderate.

Palette · side by side

Up to 8 dominant swatches each

Side A · light

Contra

Full Page

#14171f

foreground

#ffffff

background

#677084

foreground

#373f51

foreground

#d0d4dc

foreground

#000000

foreground

#9ba2b0

foreground

#e5e7eb

neutral

Side B · dark

Supabase

Full Page

#dfdfdf

neutral

#171717

foreground

#000000

foreground

#b2b2b2

foreground

#707070

foreground

#ffffff

background

#525252

foreground

#c7c7c7

neutral

Typography · side by side

Primary family + weight ladder + sample

Side A · light

Contra

Full Page

Display
GT Standard L
Body
GT Standard M
Weights
400 · 500 · 600

Sample

The quick brown fox jumps over the lazy dog.

1234567890 — Body sample renders in the captured family if your browser has it; otherwise system fallback signals the weight ladder.

Side B · dark

Supabase

Full Page

Display
Circular
Body
Source Code Pro
Weights
400 · 500

Sample

The quick brown fox jumps over the lazy dog.

1234567890 — Body sample renders in the captured family if your browser has it; otherwise system fallback signals the weight ladder.

Spacing scale · side by side

Base unit + first 8 scale values

Side A · light

Contra

Full Page

Base unit
4 px
Container max
1848 px
2px
4px
6px
8px
10px
12px
16px
20px

Side B · dark

Supabase

Full Page

Base unit
4 px
Container max
1600 px
1px
4px
6px
8px
10px
12px
16px
20px

Motion vocabulary · side by side

Level + durations + easings

Side A · light

Contra

Full Page

Level
expressive
Libraries

Durations

0.17s0.2s0.3s0.32s0.35s

Easings

easeease-in-outease-out

Side B · dark

Supabase

Full Page

Level
moderate
Libraries
Framer Motion

Durations

0.15s0.2s0.3s0.6s

Easings

cubic-bezier(0.4, 0, 0.2, 1)cubic-bezier(0, 0, 0.2, 1)cubic-bezier(0.4, 0, 0.6, 1)linear

Palette & spacing overlap

Their palettes share 10% of swatches at the dominant tier — a quiet signal both teams drew from the same neutral library before applying brand accents. Their spacing scales overlap by 75% (4, 6, 8, 10, 12 px shared) — a rhythm any agent can transfer between the two systems with minimal recalibration.

Shared swatches (2)

#ffffff#000000

Curator verdict

Pick a side. Mixing Contra's light-first canvas with Supabase's moderate motion vocabulary produces visual whiplash. Adopt one system as your primary, study the other for individual technique transfers (e.g. Contra's spacing, Supabase's shadow).

Full Contra brief →Full Supabase brief →Back to gallery

AI2 Design counts anonymous traffic always — no cookies, no identifiers, no fingerprinting. For optional session insights (PostHog, EU region) — page funnel, performance — turn on opt-in analytics below. Cookie policy.