Design language comparison
Dub vs Granola
Both Dub and Granola commit to a light-canvas approach, and they pair different display families (Inter vs __melange_3929d6). Beyond surface, motion levels are both subtle.
Palette · side by side
Up to 8 dominant swatches eachSide A · light
Dub
Full Page
#000000
foreground
#e5e5e5
neutral
#525252
foreground
#262626
foreground
#a3a3a3
foreground
#ffffff
background
#3b82f6
accent
#737373
foreground
Side B · light
Granola
Full Page
#e3e3e3
neutral
#0e0f0c
foreground
#000000
foreground
#536471
foreground
#0f1419
foreground
#1d9bf0
accent
#ffffff
background
#b2c248
accent
Typography · side by side
Primary family + weight ladder + sampleSide A · light
Dub
Full Page
- Display
- Inter
- Body
- Inter
- 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
Granola
Full Page
- Display
- __quadrant_2f05b1
- Body
- __melange_3929d6
- 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.
Spacing scale · side by side
Base unit + first 8 scale valuesSide A · light
Dub
Full Page
- Base unit
- 4 px
- Container max
- 1080 px
Side B · light
Granola
Full Page
- Base unit
- 4 px
- Container max
- 1280 px
Motion vocabulary · side by side
Level + durations + easingsSide A · light
Dub
Full Page
- Level
- subtle
- Libraries
- Framer Motion
Durations
Easings
Side B · light
Granola
Full Page
- Level
- subtle
- Libraries
- —
Durations
Easings
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 83% (2, 4, 6, 8, 10 px shared) — a rhythm any agent can transfer between the two systems with minimal recalibration.
Shared swatches (2)
Curator verdict
If you are building an interface that needs to reference both, Dub's restraint reads as the safer default and Granola's rhythm provides the accent moments — pair them at section-level, not at component-level.