Blackalgo · Full Page
Blackalgo
Dark-first SaaS marketing site that treats its design system as the product. Blackalgo builds on a Radix-style alpha-scale token foundation (12-step accents + 5-tier text + 4-tier border) and pairs TWK Lausanne with GeistMono on a near-black canvas, reserving a dual coral-and-mint accent for pivot signals only — closer to a public design system tour than a product page.

Editorial disclaimer
Editorial noteThis entry documents observable design-language patterns for educational transfer and AI-agent briefing. Screenshots and trademarks are property of their respective owners. AI2 Design is not affiliated with or endorsed by the featured brand. Inspiration here is about language and rhythm — do not reproduce brand identity, logo, product copy, or proprietary features.
Curator verdict
Why we catalogued it?
Blackalgo is the rarest kind of dark-first SaaS marketing page — one that treats its design system as the product even before you know what the product is. We catalogued it because it builds on a Radix-style alpha-scale token foundation (twelve graduated accents, four border tiers, five text descenders) and pairs it with a TWK Lausanne and GeistMono duet that almost no one outside the post-Vercel cohort has dared to assemble in this register. If you are shipping a dark-canvas product for engineering or quant audiences and want every surface to feel pre-tokenized, this is the reference to keep open in the next tab while you work.
Design decisions observed
- Confidence through tokenization — Blackalgo defines twenty-seven CSS variables before it paints a single surface. Loud / default / muted / faint / disabled descenders for text; loud / default / muted / disabled for borders; twelve alpha steps for accent. The page reads as if extracted from a design system, not authored by hand.
- A dual-accent that pivots, not paints — coral pink and mint cyan appear only inside hover states, badges, and inline pivot signals. Less than 1% of the surface, and you remember both colors anyway.
- Atmospheric gradients in modern colorspace — light leaks live in `xyz-d65` and `color()` function syntax rather than legacy `rgba()`. The page is designed for the browsers its audience actually uses, not the lowest common denominator.
- Multi-curve motion vocabulary — Geist's signature easing handles micro-interactions, Quart handles slow scroll reveals, and a custom `linear()` function with seven stops handles sub-100ms feedback. The variety is intentional: each curve does one job.
- TWK Lausanne with a custom 350 weight — most sites stop at 300/400/500. Blackalgo introduces 350 between Light and Regular as a deliberate display register, the kind of decision that signals a designer in the loop rather than a Tailwind preset.
What to study
- How Blackalgo encodes a Radix Colors alpha scale into a real product surface — `--accent-1` through `--accent-12` with precisely-stepped opacities (05 / 0a / 0d / 0f / 14 / 1f / 29 / 52 / 66 / a3 / e0 / ff). Steal the mindset: a 12-step alpha scale is a far more flexible tool than a 5-step semantic palette.
- How TWK Lausanne replaces Inter without losing register — same swiss neo-grotesque DNA, more humanist tone, and four weights (300 / 350 / 400 / 500) that compose like a custom ladder rather than a font-family default. Learn how a near-substitute typeface can change the editorial temperature without breaking the dev-tool aesthetic.
- How a `linear()` timing function with stops outperforms a single cubic-bezier — `linear(1 0%, 0.5 14.2857%, 0.1 28.5714%, ...)` lets micro-interactions overshoot, settle, and bounce inside 50ms. This is a 2024+ CSS trick that most landings have not yet absorbed.
- How `color(xyz-d65 ...)` and `color-mix()` participate in atmospheric gradients — the deeper colorspace lets a light leak stay perceptually uniform across a wider luminance range than `rgba()` blends. Worth lifting for any dark-canvas hero.
What to avoid
- Don't lift Blackalgo's coral and mint accents into a CTA fill — the pair signals high-frequency micro-interaction, not action. Painting buttons in either flips the discipline and reads as fintech merchandise.
- Don't introduce a third typeface thinking it warms the page — TWK Lausanne plus GeistMono is the entire system. A serif partner here dissolves the dev-tool register and the prestige with it.
- Don't replace the Radix alpha scale with hardcoded hex values in components — the whole authority of this surface comes from tokens. Bypassing them with literals is the fastest way to lose the register.
Taste notes
The page reads like an internal design system tour that happens to be public — every surface feels pre-named, every color sourced from the same alpha ladder, every transition tuned by a designer who knows the difference between Quart and a Geist curve. Atmospheric gradients drift in modern colorspace at single-digit alphas; coral and mint pivot signals appear only where a click would. You leave the page feeling addressed by a team that ships its tokens before its components.
Lineage & references
- Direct inheritance from the Radix Colors alpha-scale system — twelve-step `--accent-1` through `--accent-12`, four-tier border vocabulary, five-tier text descender. Vercel, Resend, and Linear popularized this token pattern for dev-tool sites; Blackalgo inherits the grammar wholesale and tunes the hex values to a coral/mint accent ground.
- Shoulder-to-shoulder with the post-Inter neo-grotesque cohort (Plain, Mintlify, Linear's late-2024 variants) — TWK Lausanne with its custom 350 weight is the editorial signal of choice for SaaS marketing pages that want Inter's discipline without Inter's ubiquity.
- Part of the 2024+ modern-CSS-spec marketing generation — `color(xyz-d65 ...)`, `color-mix()`, and `linear()` with stops appear here as load-bearing features rather than progressive enhancements, the same vanguard register that Vercel's dashboard, Linear's recent changelog, and Resend's atmospheric tiles share.
Design language brief
Paste-ready for your agent.
A typed design system transfer brief — philosophy, tokens, rules, techniques, and fitness checks. Your agent reads the whole language, not just the pixels.
Philosophy
Dark-first tokenized SaaS canvas at a Radix-style alpha-scale resolution. The ground is `#01010d` near-black (with `#000000` and `#040410` siblings); near-white `#ededf8` carries the dominant text load. Twenty-seven CSS variables encode the system: 5-tier text descender (--text-loud → -default → -muted → -faint → -disabled), 4-tier border (--border-loud → -default → -muted → -disabled), 12-step accent alpha scale (--accent-1 through --accent-12). TWK Lausanne handles prose across a 300 / 350 / 400 / 500 weight ladder; GeistMono handles numerics and inline labels. Dual brand-tier accent — `#ff587a` coral and `#5fffd7` mint — appears only as pivot signals at <1% surface area. Atmospheric gradients live in modern colorspace (`color(xyz-d65 ...)`, `rgba()` light leaks at 0.02-0.12 alpha). Motion is anchored by three curves with non-overlapping responsibilities.
Main prompt
Use this capture as a design language transfer brief for my project. Adopt the palette (dark-first `#01010d` ground + `#040410` deep + `#ededf8` near-white ink + dual `#ff587a` coral and `#5fffd7` mint reserved for pivot signals only), Radix-style CSS variable foundation (5-tier text descender + 4-tier border + 12-step accent alpha scale, alphas 05/0a/0d/0f/14/1f/29/52/66/a3/e0/ff), typographic rhythm (TWK Lausanne with 300 / 350 / 400 / 500 weight ladder, GeistMono for numerics, size scale 10/13/15/16/32/36/64 px), 2/4/6/8/12/16 px-base spacing scale with mid-narrow container rails (700/800/1140/1240/1312 px), atmospheric multi-stop gradients in modern colorspace (`color(xyz-d65 ...)` + `rgba()`) drifting at 0.02-0.12 alpha rather than hero illustration, and a multi-curve motion vocabulary — Geist `cubic-bezier(0.6, 0.6, 0, 1)` for hover, Quart `cubic-bezier(0.76, 0, 0.24, 1)` for scroll reveals, `linear()` with stops for sub-100ms feedback. Treat this as my project's constitution — any new component I author should pass as if crafted in the same studio. Apply the language, not the source brand's specific copy or identity.
Overview
- Layout
- Stack
- Content width
- Bounded
- Framing
- Flat
- Grid strength
- Medium
Color philosophy
Dark-first tokenized canvas — `#01010d` primary background paired with `#040410` deep variant and `#ededf8` near-white foreground (the dominant text token at 2876 measured occurrences). Cool periwinkle support tones `#e9e9fb`, `#c9cafd` for tinted panels and frosted overlays. Dual brand-tier accent: `#ff587a` (coral pink) and `#5fffd7` (mint cyan), each appearing only as pivot signals — surface area combined < 1%. The CSS variable vocabulary is Radix-style: `--text-{loud,default,muted,faint,disabled}` 5-tier descender (alpha ff → b8 → a3 → 7a → 52), `--border-{loud,default,muted,disabled}` 4-tier (alpha 29 → 1f → 14 → 0d), `--accent-1` through `--accent-12` 12-step alpha scale (05/0a/0d/0f/14/1f/29/52/66/a3/e0/ff).
- Near-white `#ededf8` text handling ~2876 measured surface occurrences via `--text-loud` — dominant reading layer
- Background pair `#01010d` (page) + `#040410` (deep panel), maintaining 19:1+ contrast with `#ededf8`
- Cool periwinkle support `#e9e9fb` / `#c9cafd` for tinted overlays and frosted glass surfaces
- Coral `#ff587a` reserved for pivot signals, hover accents — never as CTA fill
- Mint `#5fffd7` reserved for active state highlights, secondary pivot — never as background
Gradients (paste-ready)
linear-gradient(rgba(235, 234, 251, 0) 25%, rgba(235, 234, 251, 0.05) 65%, rgba(235, 234, 251, 0) 95%) — single-pass light beam linear-gradient(92deg, rgb(208, 206, 253) 0%, rgb(158, 183, 248) 50%, rgb(210, 236, 249) 100%) — pastel lavender→periwinkle→sky display gradient linear-gradient(270deg, rgba(5, 26, 34, 0.12) 35%, rgba(0, 255, 213, 0.12) 100%) — mint accent edge fade radial-gradient(50% 50%, color(xyz-d65 0.367 0.28 1.054 / 0.059), rgba(1, 1, 14, 0) 85%) — modern colorspace atmospheric pass linear-gradient(rgba(237, 236, 249, 0.96), rgba(237, 237, 249, 0.77)) — frosted glass card overlay
Typography rules
- Primary family: TWK Lausanne (prose, headings, UI). Counterpart family: GeistMono (numerics, inline code labels, version pills).
- Weight ladder: 300 (light display) / 350 (custom in-between, deliberate display register) / 400 (reading body) / 500 (emphasis + GeistMono caps). The 350 stop is the signature — do not substitute.
- Size scale: 10 / 13 / 15 / 16 / 32 / 36 / 64 px. Display headings extend up the same scale; body and UI cluster at 13-16 px.
- Line-height pattern: tight on display (lh 36 on 32 px = 1.125, lh 52 on 36 px = 1.44, lh 68 on 64 px = 1.06); standard on body (lh 22-26 on 13-16 px); GeistMono lh 16 on 10 px (1.6).
- GeistMono signals developer affinity — version pills, status badges, inline tokens. Don't use for prose paragraphs; that flips the register.
- TWK Lausanne 350 is the display register weight — use for heading clusters and feature labels, never for body copy.
Spacing rules
- Mixed-density rhythm — 8px (102 measured occurrences) and 16px (98) dominate; 6px (51), 12px (41), 4px (19), 2px (20) form the support scale.
- Standard scale: 2 / 4 / 6 / 8 / 10 / 12 / 14 / 16 / 18 / 20 / 22 / 24 px. Pick from scale; never freehand values.
- Container max-width set: 700 / 800 / 1140 / 1240 / 1312 px — narrow modules + wide hero rails.
- Section vertical rhythm follows the same 8/16/24 px scale × multipliers, never freehand.
- Card padding: 16-24 px on desktop, 12-16 px on mobile. Border via `--border-default` (alpha 1f) before reaching for shadow.
Design tokens
Palette, type, and space — all agent-readable.
9 colors · hex / rgb / hsl / oklch
- backgroundborder-disabled58%
- HEX
#EDEDF8 - RGB
rgb(237, 237, 248) - HSL
hsl(240, 44%, 95%) - OKLCH
oklch(94.93% 0.0147 286.12)
- HEX
- neutral39%
- HEX
#E5E7EB - RGB
rgb(229, 231, 235) - HSL
hsl(220, 13%, 91%) - OKLCH
oklch(92.76% 0.0058 264.53)
- HEX
- foreground2%
- HEX
#000000 - RGB
rgb(0, 0, 0) - HSL
hsl(0, 0%, 0%) - OKLCH
oklch(0.00% 0.0000 0.00)
- HEX
- accent0%
- HEX
#FF587A - RGB
rgb(255, 88, 122) - HSL
hsl(348, 100%, 67%) - OKLCH
oklch(69.25% 0.2023 12.08)
- HEX
- accent0%
- HEX
#5FFFD7 - RGB
rgb(95, 255, 215) - HSL
hsl(165, 100%, 69%) - OKLCH
oklch(90.55% 0.1455 173.21)
- HEX
- accentbackground-black0%
- HEX
#01010D - RGB
rgb(1, 1, 13) - HSL
hsl(240, 86%, 3%) - OKLCH
oklch(8.67% 0.0403 274.04)
- HEX
- background0%
- HEX
#E9E9FB - RGB
rgb(233, 233, 251) - HSL
hsl(240, 69%, 95%) - OKLCH
oklch(93.93% 0.0242 285.93)
- HEX
- accent0%
- HEX
#C9CAFD - RGB
rgb(201, 202, 253) - HSL
hsl(239, 93%, 89%) - OKLCH
oklch(85.53% 0.0707 283.92)
- HEX
- accent0%
- HEX
#040410 - RGB
rgb(4, 4, 16) - HSL
hsl(240, 60%, 4%) - OKLCH
oklch(11.66% 0.0305 280.57)
- HEX
Inspector
Tab through the captured artifacts.
Six observable layers — page structure, fonts, breakpoints, z-index, gradients, motion — kept paste-ready alongside the tokens above.
Page structure
Semantic hierarchy at a glance.
Depth-first walk of meaningful sections — header, navigation, main regions, articles, footer. 6 nodes captured; depth capped at 6 for readability.
- body
- ├─ Main
- │ └─ Header
- │ └─ div
- │ └─ Nav
- └─ div
Accessibility
WCAG contrast matrix.
46 combinations · 36 pass AA · 30 pass AAA · APCA Lc shown alongside WCAG 2.1 ratio for draft WCAG 3 awareness.
| Preview | fg | bg | Ratio | Normal | Large | APCA Lc | Context |
|---|---|---|---|---|---|---|---|
Aa | #EDEDF8 | #000000 | 18.07 | AAA | AAA | -97 | background on foreground |
Aa | #000000 | #EDEDF8 | 18.07 | AAA | AAA | +96 | foreground on background |
Aa | #EDEDF8 | #01010D | 17.87 | AAA | AAA | -97 | background on accent |
Aa | #01010D | #EDEDF8 | 17.87 | AAA | AAA | +96 | accent on background |
Aa | #EDEDF8 | #040410 | 17.54 | AAA | AAA | -97 | background on accent |
Aa | #040410 | #EDEDF8 | 17.54 | AAA | AAA | +96 | accent on background |
Aa | #000000 | #E9E9FB | 17.51 | AAA | AAA | +94 | foreground on background |
Aa | #E9E9FB | #000000 | 17.51 | AAA | AAA | -94 | background on foreground |
Aa | #01010D | #E9E9FB | 17.32 | AAA | AAA | +94 | accent on background |
Aa | #E9E9FB | #01010D | 17.32 | AAA | AAA | -94 | background on accent |
Image strategy
Asset loading & format policy.
Observable image posture — total count, lazy-loading ratio, and format mix. Hero image is measured above the fold.
Hero image
https://blackalgo.com/images/hero/section-lights.webp- Format
- WEBP
- Dimensions
- 1280×1000
- Loading
- lazy
- srcset
- no
- Full Page
- saas
- developer-tools
- dark
- 2026-04-30
Frequently asked
Questions people ask about Blackalgo
Answers are pulled from the curator verdict and design brief — the same text your AI agent sees when it paste-reads this page.
What makes Blackalgo's marketing page read like a public design system tour?
Blackalgo treats its design system as the product. A Radix-style alpha-scale token foundation — 12-step accents, 5-tier text, 4-tier border — pairs TWK Lausanne with GeistMono on a near-black canvas, and a dual coral-and-mint accent appears only as a pivot signal. The whole surface reads as an open token playground rather than a product page.
What fonts and palette does Blackalgo use?
TWK Lausanne carries display and body; GeistMono handles code and numeric ladders. The palette is a Radix-style alpha-scale system on a near-black canvas — twelve-step accent, five-tier text, four-tier border — with a dual coral-and-mint accent reserved for pivot signals. Atmospheric gradients sit at modern-colorspace stops with linear easing.
Can I adopt Blackalgo's Radix-alpha-scale aesthetic?
The transfer is token-architectural: build a 12-step alpha-scale accent system, layer five tiers of text and four tiers of border, and treat any second accent as semantic pivot rather than decoration. Commit to modern colorspace gradients and linear easing. The AI2 Design brief in our growing gallery captures the alpha tokens as paste-ready CSS-var scaffolding.
Editorial credit
Featured Sponsor slot — your brand here
Dedicated logo placement — no rotation, on every export.
COMPARE THIS WITH


