Skip to main content

Design language comparison

Plain vs Raycast

Both Plain and Raycast commit to a dark-canvas approach, and they pair different display families (sans-serif vs Inter). Beyond surface, motion divides them — Plain is subtle, Raycast is expressive.

Palette · side by side

Up to 8 dominant swatches each

Side A · dark

Plain

Full Page

#000000

foreground

#0a2414

brand

#17b267

brand

#0000ee

accent

#f3fbe9

background

#ffffff

background

#1f1f28

foreground

#f9f6f1

background

Side B · dark

Raycast

Full Page

#ffffff

background

#000000

foreground

#434345

foreground

#6a6b6c

foreground

#9c9c9d

foreground

#e6e6e6

background

#02193b

accent

#2f3031

foreground

Typography · side by side

Primary family + weight ladder + sample

Side A · dark

Plain

Full Page

Display
ABC Favorit Regular
Body
sans-serif
Mono
Geist Mono
Weights
400

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

Raycast

Full Page

Display
Inter
Body
SF Pro Text
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.

Spacing scale · side by side

Base unit + first 8 scale values

Side A · dark

Plain

Full Page

Base unit
4 px
Container max
1200 px
4px
8px
10px
12px
16px
20px
24px
30px

Side B · dark

Raycast

Full Page

Base unit
4 px
Container max
1204 px
2px
4px
6px
8px
10px
12px
15px
20px

Motion vocabulary · side by side

Level + durations + easings

Side A · dark

Plain

Full Page

Level
subtle
Libraries
Framer Motion

Durations

0.4s

Easings

cubic-bezier(0.44, 0, 0.5…

Side B · dark

Raycast

Full Page

Level
expressive
Libraries

Durations

0.2s0.3s0.4s0.7s1.5s

Easings

cubic-bezier(0.23, 1, 0.3…cubic-bezier(0.215, 0.61,…cubic-bezier(0.165, 0.84,…ease

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

Shared swatches (2)

#000000#ffffff

Curator verdict

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

Full Plain brief →Full Raycast 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.