Foundations
Typography
Two families, one rhythm. Plus Jakarta Sans covers display and UI; DM Sans handles body. Sizes, weights, and line-heights live as tokens in packages/ui/tokens.css.
Logo
The Sidelay logo is a fixed SVG lockup — symbol and wordmark designed together. Two colour variants ship in apps/brand/public/logos/: amb (warm, default) for cream and light backgrounds, and lav (desaturated) for the lavender accent surface.
Logo
Your whole team, on the same page.
Version sombre
Your whole team, on the same page.
Font families
Each family owns a clear role. Mix is intentional and limited so the product reads as one brand.
Display + UI
Plus Jakarta Sans
--font-uiFriendly humanist sans, neutral at small sizes and lively at scale. Covers both the display headlines (weight 800) and the entire product UI (400-700): navigation, labels, buttons, section headings.
The quick brown fox jumps over the lazy dog.
- Sidelay
400 - Sidelay
500 - Sidelay
600 - Sidelay
700 - Sidelay
800
Body
DM Sans
--font-bodyCompact body sans, optimized for sustained reading. Used for paragraph text and long-form content.
The quick brown fox jumps over the lazy dog.
- Sidelay
300 - Sidelay
400 - Sidelay
500
Type scale
Each row shows the token rendered at its native size, family, weight, line-height, and letter-spacing. The scale stays fixed; semantic roles (e.g. --text-view-title) point at a scale step so a recurring text role can be retuned in one place.
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
EYEBROW LABEL
EYEBROW LABEL
Line heights
Five steps from tight (display) to relaxed (long-form reading). Pair with the type scale above for natural rhythm.
Display
--leading-display1.05Tight, for hero text where each line is short and bold.
A web that forgets no one. Sidelay turns scattered feedback into a single source of truth, so your team always knows where the conversation is.
Heading
--leading-heading1.2Section headings — comfortable for 1 to 3 lines.
A web that forgets no one. Sidelay turns scattered feedback into a single source of truth, so your team always knows where the conversation is.
Snug
--leading-snug1.4Short paragraphs, descriptions, condensed lists.
A web that forgets no one. Sidelay turns scattered feedback into a single source of truth, so your team always knows where the conversation is.
Body
--leading-body1.55Default for paragraphs across the product.
A web that forgets no one. Sidelay turns scattered feedback into a single source of truth, so your team always knows where the conversation is.
Relaxed
--leading-relaxed1.75Long-form reading, articles, documentation.
A web that forgets no one. Sidelay turns scattered feedback into a single source of truth, so your team always knows where the conversation is.
Letter spacing
Tighten display sizes; loosen uppercase labels. Body text stays at zero.
Designed for teams
Designed for teams
Designed for teams
Designed for teams
Designed for teams
Designed for teams
Now in private beta
Recommended pairings
Battle-tested combinations across marketing pages, dashboard, and extension UI.
Hero — marketing page top
Your whole team, on the same page.
A web that forgets no one. Sidelay turns scattered feedback into a single source of truth, so your team always knows where the conversation is.
Section — feature block
Built for the people who actually use the site.
A web that forgets no one. Sidelay turns scattered feedback into a single source of truth, so your team always knows where the conversation is.
Card — UI surface
Recent sessions
Two unresolved threads on perimetre.co. Updated 3 minutes ago.
Eyebrow — marketing breadcrumb
Chrome extension · Free during beta
Drop a pin where the bug lives.