Skip to main content

Design language comparison

Contra vs PostHog

Both Contra and PostHog commit to a light-canvas approach, and they pair different display families (GT Standard M vs Open Runde). Beyond surface, motion levels are both expressive.

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 · light

PostHog

Full Page

#4d4f46

foreground

#000000

foreground

#374151

foreground

#9ea096

neutral

#111827

foreground

#65675e

foreground

#f7a501

accent

#bfc1b7

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 · light

PostHog

Full Page

Display
Open Runde
Body
IBM Plex Sans Variable
Mono
ui-monospace
Weights
400 · 500 · 600 · 700 · 800

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 · light

PostHog

Full Page

Base unit
4 px
Container max
320 px
2px
4px
6px
8px
10px
12px
14px
17px

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 · light

PostHog

Full Page

Level
expressive
Libraries

Durations

0.15s0.3s3s4s4.9s

Easings

cubic-bezier(0.4, 0, 0.2, 1)cubic-bezier(0.16, 1, 0.3…ease-in-outlinear

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% (2, 4, 6, 8, 10 px shared) — a rhythm any agent can transfer between the two systems with minimal recalibration.

Shared swatches (2)

#ffffff#000000

Curator verdict

If you are building an interface that needs to reference both, Contra's restraint reads as the safer default and PostHog's rhythm provides the accent moments — pair them at section-level, not at component-level.

Full Contra brief →Full PostHog 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.