Design language comparison
Blackalgo vs Comet
Both Blackalgo and Comet commit to a dark-canvas approach, and they pair different display families (TWKLausanne vs system-ui). Beyond surface, motion levels are both expressive.
Palette · side by side
Up to 8 dominant swatches eachSide A · dark
Blackalgo
Full Page
#ededf8
background
#e5e7eb
neutral
#000000
foreground
#ff587a
accent
#5fffd7
accent
#01010d
accent
#e9e9fb
background
#c9cafd
accent
Side B · dark
Comet
Full Page
#313131
foreground
#0000ee
brand
#d9d9d9
neutral
Typography · side by side
Primary family + weight ladder + sampleSide A · dark
Blackalgo
Full Page
- Display
- TWKLausanne
- Body
- GeistMono
- Mono
- GeistMono
- Weights
- 300 · 350 · 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.
Side B · dark
Comet
Full Page
- Display
- system-ui
- Body
- monospace
- Mono
- monospace
- Weights
- 400 · 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 valuesSide A · dark
Blackalgo
Full Page
- Base unit
- 4 px
- Container max
- 1312 px
Side B · dark
Comet
Full Page
- Base unit
- 8 px
- Container max
- 960 px
Motion vocabulary · side by side
Level + durations + easingsSide A · dark
Blackalgo
Full Page
- Level
- expressive
- Libraries
- —
Durations
Easings
Side B · dark
Comet
Full Page
- Level
- expressive
- Libraries
- —
Durations
Easings
Palette & spacing overlap
Palette overlap is zero — Blackalgo and Comet live in completely different chromatic registers, even when their layout grids feel adjacent. Their spacing scales overlap by 17% (8, 16 px shared) — a rhythm any agent can transfer between the two systems with minimal recalibration.
Curator verdict
If you are building an interface that needs to reference both, Blackalgo's restraint reads as the safer default and Comet's rhythm provides the accent moments — pair them at section-level, not at component-level.