duply
Preview of Scalar

Scalar

A clean, developer-documentation-first marketing surface built on pure white canvas with near-black ink type and a black primary CTA. The system reads as precise, technical, and open-source — Inter throughout, tight 3px radii on UI chrome, real product UI (API client, docs sidebar, code blocks) embedded directly in the page, and a scarce red brand accent. Brand voltage comes from showing the actual product chrome rather than from decorative color.

---
version: alpha
name: Scalar-design-analysis
description: A clean, developer-documentation-first marketing surface built on pure white canvas with near-black ink type and a black primary CTA. The system reads as precise, technical, and open-source — Inter throughout, tight 3px radii on UI chrome, real product UI (API client, docs sidebar, code blocks) embedded directly in the page, and a scarce red brand accent. Brand voltage comes from showing the actual product chrome rather than from decorative color.

colors:
  ink: "#1b1b1b"
  ink-strong: "#0d0d0d"
  black: "#000000"
  body: "#757575"
  muted: "#8e8e8e"
  muted-soft: "#a4a4a4"
  canvas: "#ffffff"
  surface-soft: "#f6f6f6"
  surface-muted: "#eeeeed"
  hairline: "#dfdfdf"
  hairline-soft: "#e7e7e7"
  on-ink: "#ffffff"
  accent-red: "#dc2626"
  accent-blue: "#3b82f6"
  accent-cyan: "#0099ff"
  accent-sky: "#00aeff"

typography:
  title:
    fontFamily: "Inter, sans-serif"
    fontSize: 24px
    fontWeight: 600
    lineHeight: 1.33
    letterSpacing: normal
  body:
    fontFamily: "Inter, sans-serif"
    fontSize: 14px
    fontWeight: 400
    lineHeight: 1.714
    letterSpacing: normal

rounded:
  xs: 2px
  sm: 3px
  md: 6px
  lg: 8px
  xl: 16px
  xxl: 20px
  round: 50px
  pill: 9999px

spacing:
  xxs: 4px
  xs: 6px
  sm: 8px
  md: 10px
  base: 12px
  lg: 16px
  xl: 24px
  xxl: 32px
  section: 44px

components:
  top-nav:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.ink}"
    typography: "{typography.body}"
  sidebar-nav:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.body}"
    typography: "{typography.body}"
  sidebar-item-active:
    backgroundColor: "{colors.surface-soft}"
    textColor: "{colors.ink}"
    typography: "{typography.body}"
    rounded: "{rounded.md}"
  button-primary:
    backgroundColor: "{colors.ink}"
    textColor: "{colors.on-ink}"
    typography: "{typography.body}"
    rounded: "{rounded.sm}"
    padding: 12px 24px
  button-secondary:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.ink}"
    typography: "{typography.body}"
    rounded: "{rounded.sm}"
    padding: 12px 24px
  search-input:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.body}"
    typography: "{typography.body}"
    rounded: "{rounded.round}"
    padding: 8px 12px
  ask-ai-input:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.body}"
    typography: "{typography.body}"
    rounded: "{rounded.round}"
    padding: 12px
  tab:
    backgroundColor: transparent
    textColor: "{colors.body}"
    typography: "{typography.body}"
  tab-active:
    backgroundColor: transparent
    textColor: "{colors.ink}"
    typography: "{typography.body}"
  product-mockup-card:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.ink}"
    rounded: "{rounded.lg}"
    padding: 12px
  testimonial-card:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.body}"
    typography: "{typography.body}"
    rounded: "{rounded.md}"
    padding: 24px
  code-block:
    backgroundColor: "{colors.surface-soft}"
    textColor: "{colors.ink}"
    typography: "{typography.body}"
    rounded: "{rounded.lg}"
    padding: 16px
  footer:
    backgroundColor: "{colors.canvas}"
    textColor: "{colors.body}"
    typography: "{typography.body}"
    padding: 44px
---

## Overview

Scalar's marketing surface is a clean, developer-documentation-first interface — pure white canvas (`{colors.canvas}`#ffffff) with near-black ink type (`{colors.ink}`#1b1b1b) and a black primary CTA. The page is laid out like a docs product itself: a persistent left sidebar of navigation links, a content column to the right, and large embedded product mockups (the API client, docs sidebar, code samples) shown directly inline. The system reads as precise, technical, and confidently open-source rather than glossy-marketing.

Type is a single-family system: **Inter** for everything. Headings run at weight 600 (`{typography.title}` — 24px), and running body text sits at weight 400 / 14px with a generous 1.714 line-height that gives long technical paragraphs room to breathe. There is no display face — the restraint is part of the developer-tooling voice.

Component voltage comes from **real product UI fragments shown directly in the page** — the in-browser API client with request/response panels, the docs sidebar with endpoint trees, syntax-highlighted code blocks. Scalar shows the actual product chrome at scale rather than illustrating it. Accent color is scarce: a brand red (`{colors.accent-red}`#dc2626) appears on the Scalar wordmark/badge and small accents, and link-blue tones (`{colors.accent-blue}`, `{colors.accent-cyan}`, `{colors.accent-sky}`) show up inside product UI and feature link rows.

UI chrome is tight: radii cluster around `{rounded.sm}` (3px), the dominant measured radius. Inputs are the exception — the search and "Ask AI" fields use `{rounded.round}` (50px) fully-pill capsules.

**Key Characteristics:**
- Pure white canvas (`{colors.canvas}`) with near-black ink (`{colors.ink}`#1b1b1b). No dark sections; even the footer stays white.
- Single-family typography — Inter at 600 for titles, 400 for body. No display typeface.
- Black primary CTA (`{component.button-primary}`) paired with a white outline secondary (`{component.button-secondary}`) — the "Get Started" / "Book a Demo" pairing.
- Tight 3px radii (`{rounded.sm}`) on most UI chrome; pill-capsule inputs at `{rounded.round}` (50px).
- Real product UI embedded inline — API client, docs sidebar, code samples shown as content, not illustration.
- Scarce red brand accent (`{colors.accent-red}`#dc2626) on the wordmark and badges; blues reserved for product UI and inline links.
- Soft single-layer shadows (`rgba(0,0,0,0.11) 0px 1px 3px`) on cards; one deep modal-style shadow for the floating product mockup.
- Persistent docs-style left sidebar navigation as the primary site frame.

## Colors

### Brand & Accent
- **Accent Red** (`{colors.accent-red}`#dc2626): The scarce brand red — appears on the Scalar wordmark "S" badge and small accent moments. Never used as a button fill or large surface.
- **Accent Blue / Cyan / Sky** (`{colors.accent-blue}`#3b82f6, `{colors.accent-cyan}`#0099ff, `{colors.accent-sky}`#00aeff): Link tones and product-UI highlights — feature link rows ("OpenAPI-First", "Code Samples"), syntax highlighting, and the embedded API client chrome. Used sparely.

### Surface
- **Canvas** (`{colors.canvas}`#ffffff): The default page floor — every band, including the footer, stays white.
- **Surface Soft** (`{colors.surface-soft}`#f6f6f6): Active sidebar item background, code-block background, soft section fills.
- **Surface Muted** (`{colors.surface-muted}`#eeeeed): A barely-darker neutral fill for nested UI surfaces.
- **Hairline** (`{colors.hairline}`#dfdfdf): 1px border tone on cards and dividers (also seen as a `0px 0px 0px 0.5px` ring in the measured shadow stack).
- **Hairline Soft** (`{colors.hairline-soft}`#e7e7e7): A lighter divider tone between sections that share the white canvas.

### Text
- **Ink** (`{colors.ink}`#1b1b1b): All headings and primary text; also the primary-button fill.
- **Ink Strong** (`{colors.ink-strong}`#0d0d0d) / **Black** (`{colors.black}`#000000): Deepest near-black tones used on dense UI chrome and logo marks.
- **Body** (`{colors.body}`#757575): Default secondary / running-text color in sidebar links and supporting copy.
- **Muted** (`{colors.muted}`#8e8e8e): Tertiary text — captions, inactive labels.
- **Muted Soft** (`{colors.muted-soft}`#a4a4a4): Faintest text — fine-print, placeholder text.
- **On Ink** (`{colors.on-ink}`#ffffff): Text on the black primary button.

## Typography

### Font Family
The system runs **Inter** for the entire interface — headings, body, navigation, buttons, and labels. There is no separate display face; hierarchy is built purely from size and weight. The fallback stack walks `Inter, sans-serif`.

Only two roles were measured directly:
- Inter 600 / 24px — section headings (`{typography.title}`)
- Inter 400 / 14px — body and UI text (`{typography.body}`)

### Hierarchy

| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
| `{typography.title}` | 24px | 600 | 1.33 | normal | Section headings ("The Modern Documentation Platform", "Take their word for it") |
| `{typography.body}` | 14px | 400 | 1.714 | normal | Running text, sidebar links, buttons, captions, nav |

### Principles
The single-family discipline is the voice — Inter at 600 for emphasis, 400 for everything else. The generous 1.714 body line-height is deliberate: it makes dense technical paragraphs and feature lists comfortable to scan. Headings stay at weight 600 (never 700) to keep the developer-tooling restraint.

### Note on Font Substitutes
No licensed/custom typefaces were flagged (`fonts_licensed` is empty). Inter is an open-source webfont and ships directly — no substitution required.

## Layout

### Spacing System
- **Base unit:** measured spacing clusters strongly around 8px and 12px (the two highest-frequency values), with a 4px sub-grid.
- **Tokens:** `{spacing.xxs}` 4px · `{spacing.xs}` 6px · `{spacing.sm}` 8px · `{spacing.md}` 10px · `{spacing.base}` 12px · `{spacing.lg}` 16px · `{spacing.xl}` 24px · `{spacing.xxl}` 32px · `{spacing.section}` 44px.
- **Dominant rhythm:** `{spacing.sm}` (8px, frequency 73) and `{spacing.base}` (12px, frequency 49) drive most internal padding and gaps in nav rows, list items, and UI chrome.
- **Larger steps:** `{spacing.xl}` (24px) for card padding and content-block separation; `{spacing.section}` (44px) for the widest measured gaps.

### Grid & Container
- **Primary frame:** persistent left sidebar navigation + right content column — the docs-product layout applied to the marketing site.
- **Content bands:** feature sections alternate a text column with a large embedded product-mockup or code-block column.
- **Footer:** multi-column link list (Products / Company) at desktop.

Exact container max-width and column counts were not measured — see Known Gaps.

### Whitespace Philosophy
Whitespace is calm and technical — tight 8–12px rhythm inside dense UI chrome (sidebar, nav, lists), opening to 24px+ between content blocks. The generous body line-height does much of the breathing work, so vertical block spacing stays modest.

## Elevation & Depth

| Level | Treatment | Use |
|---|---|---|
| Flat | No shadow, no border | Body sections, footer, nav |
| Soft card | `rgba(0,0,0,0.11) 0px 1px 3px 0px` | Standard cards, embedded UI panels (measured, frequency 8) |
| Soft card + ring | `rgba(0,0,0,0.11) 0px 1px 3px 0px, rgb(223,223,223) 0px 0px 0px 0.5px` | Cards with a hairline ring (`{colors.hairline}`) |
| Deep float | `rgba(0,0,0,0.3) 0px 32px 68px 0px` | The large floating product-mockup card (the hero API client) |
| Inset outline | `rgb(27,27,27) 0px 0px 0px 1px inset` | A 1px inset ink ring (`{colors.ink}`) — used as a focus/emphasis outline on UI chrome |

The elevation philosophy is **soft and minimal** — a single low-alpha 1px/3px drop shadow does almost all the work, with one dramatic `0 32px 68px` shadow reserved for the floating hero product card. No neumorphism, no glassmorphism.

### Decorative Depth
- Embedded product UI fragments (API client, docs sidebar, code blocks) carry their own internal chrome — these are the product shown as content, not system tokens.
- Floating sticker-style brand artifacts (the "Scalar.com" badge, "API Client" sticker) sit over the canvas as decorative depth.

## Shapes

### Border Radius Scale

| Token | Value | Use |
|---|---|---|
| `{rounded.xs}` | 2px | Minimal accents on small UI chrome |
| `{rounded.sm}` | 3px | The dominant radius (frequency 33) — buttons, list items, small UI elements |
| `{rounded.md}` | 6px | Cards, nav items, medium chrome |
| `{rounded.lg}` | 8px | Larger cards, code blocks, product-mockup containers |
| `{rounded.xl}` | 16px | Large feature panels |
| `{rounded.xxl}` | 20px | Largest rounded surfaces |
| `{rounded.round}` | 50px | Search and "Ask AI" pill-capsule inputs |
| `{rounded.pill}` | 9999px | Fully-rounded pill elements |

### Photography & Artifact Geometry
Embedded product UI fragments retain their native chrome and radii. Brand sticker artifacts (badges, "API Client" tags) sit at angled rotations over the canvas as floating accents.

## Components

### Navigation

**`top-nav`** — White top bar carrying the Scalar wordmark + red "S" badge at left, primary links (Home, Enterprise) center-left, and "Log in" + black "Register" CTA at right. Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.body}`.

**`sidebar-nav`** — The persistent left navigation, structured like the docs product itself: a search field at top, then grouped link sections (Introduction, Pricing, Customers, Products tree, Resources, Support). Background `{colors.canvas}`, link text `{colors.body}` in `{typography.body}`.

**`sidebar-item-active`** — The selected nav row (e.g. "Introduction"). Background `{colors.surface-soft}` (#f6f6f6), text `{colors.ink}`, rounded `{rounded.md}`.

### Buttons

**`button-primary`** — The black primary CTA ("Get Started", "Register"). Fill `{colors.ink}` (#1b1b1b), label `{colors.on-ink}` in `{typography.body}`. The measured button radius was 0px on the raw element; `{rounded.sm}` (3px) is applied per the system's dominant chrome radius (derived). Padding ~12px × 24px.

**`button-secondary`** — The white outline CTA ("Book a Demo"). Background `{colors.canvas}`, text `{colors.ink}`, 1px `{colors.hairline}` border, same padding and radius as primary.

### Inputs

**`search-input`** — The sidebar search field. Pill-capsule shape at `{rounded.round}` (50px, measured), background `{colors.canvas}`, placeholder text `{colors.body}`, type `{typography.body}`.

**`ask-ai-input`** — The "Ask AI a question…" floating field. Same pill-capsule `{rounded.round}` treatment as search, slightly larger padding.

### Tabs

**`tab`** + **`tab-active`** — The "API Docs / SDKs / API Client" content switcher. Inactive: `{colors.body}` text, transparent background. Active: `{colors.ink}` text with an underline indicator, transparent background. Type `{typography.body}`.

### Cards & Containers

**`product-mockup-card`** — The large embedded product-UI panels (the in-browser API client, docs sidebar, endpoint trees). Background `{colors.canvas}`, rounded `{rounded.lg}`, with the deep `0 32px 68px` float shadow on the hero instance and the soft `0 1px 3px` shadow on inline instances. These show the actual product, not illustrations of it.

**`testimonial-card`** — Customer-quote blocks in the "Take their word for it" band. Background `{colors.canvas}`, body text `{colors.body}` in `{typography.body}`, rounded `{rounded.md}`, padding `{spacing.xl}` (24px). Carries the quote, then name + role in muted text.

**`code-block`** — Syntax-highlighted code samples (the "One Commit To Update All Your SDKs" panel). Background `{colors.surface-soft}`, rounded `{rounded.lg}`, padding `{spacing.lg}` (16px). Syntax tokens use the accent-blue/cyan tones.

### Footer

**`footer`** — White footer closing the page. Background `{colors.canvas}`, link text `{colors.body}` in `{typography.body}`. Multi-column link list (Products / Company), Scalar wordmark + tagline at left, compliance badges, and a decorative full-spectrum color bar at the bottom. Padding ~44px (`{spacing.section}`).

## Do's and Don'ts

### Do
- Keep the canvas pure white (`{colors.canvas}`) across all bands, including the footer. Scalar has no dark sections.
- Use Inter for everything — 600 for titles, 400 for body. Build hierarchy from size and weight, not from a second typeface.
- Reserve `{colors.ink}` (#1b1b1b) for the black primary CTA and headings. The button is near-black, not colored.
- Embed real product UI (API client, docs sidebar, code blocks) directly in the page. Show the product, don't illustrate it.
- Keep UI chrome tight at `{rounded.sm}` (3px); reserve `{rounded.round}` (50px) for search/Ask-AI pill inputs.
- Use the brand red (`{colors.accent-red}`) sparingly — wordmark and badges only.
- Use the single soft `0 1px 3px` shadow for cards; reserve the deep `0 32px 68px` float for the hero product mockup only.
- Pair generous body line-height (1.714) with the tight 8–12px chrome spacing for the docs-product feel.

### Don't
- Don't introduce dark surfaces or dark footers — the system stays white throughout.
- Don't use accent blues or red as button fills; they belong in product UI and inline links.
- Don't bold headings past 600.
- Don't round buttons or cards to large radii — keep chrome at 3–8px; only inputs go fully pill.
- Don't replace embedded product UI with marketing illustrations.
- Don't add hover-state styling beyond default and active/pressed.

## Responsive Behavior

The reference captures were desktop-width. The site's docs-style frame (persistent left sidebar + content column) implies standard collapsing behavior, but specific breakpoints, mobile sidebar/hamburger treatment, and column-reflow values were not measured — see Known Gaps.

### Touch Targets
- `{component.button-primary}` and `{component.button-secondary}` carry ~12px × 24px padding, giving comfortable tap height.
- `{component.search-input}` / `{component.ask-ai-input}` use pill capsules with ~8–12px internal padding.
- Sidebar nav rows use the dominant 8–12px spacing; exact tap-height was not measured.

### Collapsing Strategy
Not measured. The left sidebar would typically collapse to a drawer/hamburger at narrow widths, and the alternating text + product-mockup bands would stack to single-column — but this is unconfirmed.

## Iteration Guide

1. Focus on ONE component at a time. Reference its YAML key directly (`{component.product-mockup-card}`, `{component.button-primary}`).
2. Variants of an existing component (`-active`, `-secondary`) live as separate entries in `components:`.
3. Use `{token.refs}` everywhere — never inline hex.
4. Never document hover. Default and Active/Pressed states only.
5. Hierarchy comes from Inter size + weight, never a second typeface.
6. Keep the canvas white — resist adding dark sections.
7. When emphasizing: bigger or weight-600 Inter, not a colored fill.

## Known Gaps

- Only two typography roles (h2 title and body) were measured. Display/hero headline sizes (e.g. "API interfaces built for developers and agents"), nav-link, caption, and button-label type specs are inferred from the body role and not directly captured.
- The raw `button-primary` measurement reported `radius: 0px` and `padding: 0px` — the CTA is likely a styled link element, so its real radius (`{rounded.sm}`, derived from the dominant 3px chrome radius) and padding (~12px × 24px) are estimated from screenshot ground-truth.
- Container max-width, grid column counts, and section vertical rhythm beyond the measured 44px were not extracted.
- Responsive breakpoints, mobile sidebar/hamburger behavior, and column-reflow were not measured (desktop captures only).
- Accent-color usage (red vs. blue/cyan/sky) is documented from low-frequency measurements and screenshot inspection; exact application rules inside the embedded product UI are out of scope.
- The decorative full-spectrum footer color bar and floating brand stickers are observed but not tokenized — they are content/brand artifacts rather than system tokens.
- Form validation, focus, and disabled states beyond the measured inset `0 0 0 1px` ink ring were not extracted.
- Animation and transition timings are not in scope.

<!-- Documented by duply · real-world design systems as ready-to-use DESIGN.md for AI coding agents · https://duply.ai/scalar/design-md -->

Color Palette

Accent

Neutrals

Typography

title24px · 600 · 1.33
The quick brown fox jumps
body14px · 400 · 1.714
The quick brown fox jumps

Spacing & Shape

Spacing

NameValuePreview
xxs4px
xs6px
sm8px
md10px
base12px
lg16px
xl24px
xxl32px
section44px

Border Radius

NameValuePreview
xs2px
sm3px
md6px
lg8px
xl16px
xxl20px
round50px
pill9999px

More like this

Build in any
design language

Free to browse. Real design systems, documented as DESIGN.md. New designs land weekly.

Browse the libraryHow it works