GrammarlyBrand
DESIGN.md · measured October 21, 2026
Dub design system
Light monochrome interface measured from dub.co: satoshi type with Inter, tonal surfaces and 8px corners.
- Background
- #FFFFFF
- Primary
- #000000
- Type
- satoshi
- Corners
- 8px
From dub.co ↗ · 416 elements at 1440×900 and 390×844 · Independent analysis, not affiliated with Dub
Dub colors
17 roles measured on the page, grouped by where each color is used.
Surfaces
#FFFFFFbackground · --tw-ring-offset-colorPage background · 17×#FAFAFAsurface-container-lowRaised areas one step from the page · 7×#F5F5F5surface-containerCards and panels · 15×#E5E5E5surface-container-highHover and pressed fills · 2×#FFFFFF33overlayTranslucent fill for cards and controls · 1×Text
#737373on-surfacePrimary text and headings · 51×#171717on-surface-strongHeadings and emphasis · 38×#262626on-surface-variantSecondary text · 18×#525252on-surface-mutedMuted text and metadata · 8×#FFFFFFon-primaryText and icons on primaryAccents
#000000primaryPrimary buttons and calls to action · 16×#C084FCsecondaryMost used accent color · 5×#4ADE80tertiaryMost used accent color · 5×Borders
#E5E5E5outlineBorders and dividers · 49×#0000000Doutline-variantSecondary dividers · 9×Status
#16A34AsuccessSuccess and positive states · 3×#DC2626errorErrors and destructive states · 1×Gradients
Dub fonts
3 families.
mobile 30px
Contrast
Text on #FFFFFF
4.7:117.9:115.1:17.8:1Spacing
No strict grid · 85% are multiples of 4px
xs4pxsm8pxmd16pxlg20pxxl48pxgutter8pxBreakpoints: 280px 281px 360px 420px 450px 640px 768px 900px 1024px 1280px 1400px
Shapes
Corner radii, most used first.
Depth
Components
Rebuilt from the measured CSS.
Motion
Interface transitions
0.15s0.5s0.075s0.1scubic-bezier(0.4, 0, 0.2, 1)ease-out
Do’s and don’ts
Rules written from the measurements, so a coding agent stays on style.
- Use #FFFFFF for the page and lift surfaces in small steps: #FAFAFA, #F5F5F5, #E5E5E5.
- Keep text in 4 levels: #737373, #171717, #262626, #525252.
- Let contrast carry emphasis; primary actions use #000000 on #FFFFFF.
- Reuse the measured spacing steps (8px, 16px, 20px).
- Use 8px corners on most elements; larger surfaces also use 12px, 4px and 6px.
- Introduce new font families beyond satoshi, Inter and GeistMono.
- Add saturated accent colors; the measured palette is almost entirely neutral.
- Make interface transitions slower than 0.5s.
---
version: alpha
name: Dub
description: "Light monochrome interface measured from dub.co: satoshi type with Inter, tonal surfaces and 8px corners."
colors:
background: "#FFFFFF"
surface: "#FFFFFF"
on-surface: "#737373"
on-background: "#737373"
on-surface-strong: "#171717"
on-surface-variant: "#262626"
on-surface-muted: "#525252"
surface-container-low: "#FAFAFA"
surface-container: "#F5F5F5"
surface-container-high: "#E5E5E5"
overlay: "#FFFFFF33"
outline: "#E5E5E5"
outline-variant: "#0000000D"
primary: "#000000"
on-primary: "#FFFFFF"
secondary: "#C084FC"
tertiary: "#4ADE80"
success: "#16A34A"
error: "#DC2626"
typography:
headline-display:
fontFamily: satoshi
fontSize: 48px
fontWeight: 500
lineHeight: 1
headline-lg:
fontFamily: satoshi
fontSize: 36px
fontWeight: 500
lineHeight: 1.11
headline-md:
fontFamily: Inter
fontSize: 30px
fontWeight: 400
lineHeight: 1.38
headline-sm:
fontFamily: Inter
fontSize: 24px
fontWeight: 400
lineHeight: 1.33
body-md:
fontFamily: Inter
fontSize: 16px
fontWeight: 400
lineHeight: 1.5
body-lg:
fontFamily: Inter
fontSize: 18px
fontWeight: 400
lineHeight: 1.56
body-sm:
fontFamily: Inter
fontSize: 14px
fontWeight: 400
lineHeight: 1.43
caption:
fontFamily: Inter
fontSize: 12px
fontWeight: 400
lineHeight: 1.33
label-md:
fontFamily: Inter
fontSize: 14px
fontWeight: 500
lineHeight: 1.43
label-sm:
fontFamily: Inter
fontSize: 12px
fontWeight: 500
lineHeight: 1.33
code:
fontFamily: GeistMono
fontSize: 14px
fontWeight: 400
lineHeight: 1.43
headline-display-mobile:
fontFamily: satoshi
fontSize: 30px
fontWeight: 500
lineHeight: 1.2
rounded:
sm: 4px
md: 6px
lg: 8px
xl: 12px
full: 9999px
spacing:
xs: 4px
sm: 8px
md: 16px
lg: 20px
xl: 48px
gutter: 8px
components:
button-primary:
backgroundColor: "{colors.primary}"
textColor: "{colors.on-primary}"
typography: "{typography.body-sm}"
rounded: "{rounded.lg}"
padding: 0px 16px
height: 32px
button-outline:
backgroundColor: "{colors.surface-container}"
textColor: "#0A0A0A"
typography: "{typography.body-md}"
rounded: "{rounded.xl}"
padding: 0px
height: 80px
button-ghost:
backgroundColor: "{colors.surface-container}"
textColor: "{colors.on-surface-muted}"
typography: "{typography.body-md}"
rounded: "{rounded.lg}"
padding: 8px 12px
height: 34px
button-ghost-hover:
textColor: "{colors.on-surface-variant}"
link:
textColor: "{colors.on-surface}"
---
# Dub Design System
## Overview
Dub describes itself as: “Dub is the modern link attribution platform for short links, conversion tracking, and affiliate programs.” The interface is light, built on **White (#FFFFFF)** with **Slate (#737373)** text and almost no color: actions are carried by contrast, not hue.
Type is set in **satoshi** and **Inter**, with **GeistMono** for code. Headlines run large; body text is 16px. Depth comes from soft drop shadows. Corners are mostly 8px.
Measured from [dub.co](https://dub.co/) on October 21, 2026 at 1440×900 and 390×844 from 416 rendered elements. Values are computed styles from the live page, not the original source files.
## Colors
The palette has 17 roles, plus gradient stops #F97316.
- **White (#FFFFFF):** Page background, seen 17 times. Token `background`, CSS `--tw-ring-offset-color`.
- **Slate (#737373):** Primary text and headings, seen 51 times. Token `on-surface`.
- **Charcoal (#171717):** Headings and emphasis, seen 38 times. Token `on-surface-strong`.
- **Graphite (#262626):** Secondary text, seen 18 times. Token `on-surface-variant`.
- **Slate (#525252):** Muted text and metadata, seen 8 times. Token `on-surface-muted`.
- **Snow (#FAFAFA):** Raised areas one step from the page, seen 7 times. Token `surface-container-low`.
- **Snow (#F5F5F5):** Cards and panels, seen 15 times. Token `surface-container`.
- **Mist (#E5E5E5):** Hover and pressed fills, seen 2 times. Token `surface-container-high`.
- **White 20% (#FFFFFF33):** Translucent fill for cards and controls, seen 1 time. Token `overlay`.
- **Mist (#E5E5E5):** Borders and dividers, seen 49 times. Token `outline`.
- **Near Black 5% (#0000000D):** Secondary dividers, seen 9 times. Token `outline-variant`.
- **Near Black (#000000):** Primary buttons and calls to action, seen 16 times. Token `primary`.
- **White (#FFFFFF):** Text and icons on primary. Token `on-primary`.
- **Light Violet (#C084FC):** Most used accent color, seen 5 times. Token `secondary`.
- **Green (#4ADE80):** Most used accent color, seen 5 times. Token `tertiary`.
- **Dark Green (#16A34A):** Success and positive states, seen 3 times. Token `success`.
- **Red (#DC2626):** Errors and destructive states, seen 1 time. Token `error`.
## Typography
**satoshi**, **Inter** and **GeistMono** (monospace) share the interface. Fallback stack: `satoshi, satoshi Fallback, system-ui, sans-serif`.
- **headline-display:** satoshi 48px at weight 500, line height 1 (30px on mobile). Page title (h1).
- **headline-lg:** satoshi 36px at weight 500, line height 1.11. Section headings (h2).
- **headline-md:** Inter 30px at weight 400, line height 1.38. Sub-section headings.
- **headline-sm:** Inter 24px at weight 400, line height 1.33. Card and feature titles.
- **body-md:** Inter 16px at weight 400, line height 1.5. Body text.
- **body-lg:** Inter 18px at weight 400, line height 1.56. Lead paragraphs.
- **body-sm:** Inter 14px at weight 400, line height 1.43. Secondary and small text.
- **caption:** Inter 12px at weight 400, line height 1.33. Captions and fine print.
- **label-md:** Inter 14px at weight 500, line height 1.43. Buttons, navigation and labels.
- **label-sm:** Inter 12px at weight 500, line height 1.33. Small labels and badges.
- **code:** GeistMono 14px at weight 400, line height 1.43. Code and technical values.
## Layout
Spacing is mostly on a 4px grid (85% of measured values), with some off-grid steps. Match the measured scale rather than rounding everything.
- **Scale:** xs 4px, sm 8px, md 16px, lg 20px, xl 48px.
- **Gaps:** 8px is the most common gap in flex and grid layouts.
- **Breakpoints:** 280px, 281px, 360px, 420px, 450px, 640px, 768px, 900px, 1024px, 1280px, 1400px.
## Elevation & Depth
Raised elements use soft drop shadows. The most used recipes:
- `rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px`
## Shapes
Most elements use 8px corners. Measured radii, most used first:
- **lg (8px):** 132 elements.
- **xl (12px):** 32 elements.
- **sm (4px):** 28 elements.
- **full (9999px):** 20 elements.
- **md (6px):** 16 elements.
## Components
Measured from the rendered page. Token values reference the tokens above.
- **button-primary (“Sign up”):** #000000 fill, #FFFFFF text, 14px/400, 8px radius, padding 0px 16px, border 1px solid #000000.
- **button-outline (“CASE STUDY”):** #F5F5F5 fill, #0A0A0A text, 16px/400, 12px radius, padding 0px.
- **button-ghost (“Conversion Analytics”):** #F5F5F5 fill, #525252 text, 16px/400, 8px radius, padding 8px 12px.
- **button-ghost-hover:** background #F5F5F5, text #262626 on hover.
- **link:** transparent fill, #737373 text, padding 0px.
## Do's and Don'ts
- Do use #FFFFFF for the page and lift surfaces in small steps: #FAFAFA, #F5F5F5, #E5E5E5.
- Do keep text in 4 levels: #737373, #171717, #262626, #525252.
- Do let contrast carry emphasis; primary actions use #000000 on #FFFFFF.
- Do reuse the measured spacing steps (8px, 16px, 20px).
- Do use 8px corners on most elements; larger surfaces also use 12px, 4px and 6px.
- Don't introduce new font families beyond satoshi, Inter and GeistMono.
- Don't add saturated accent colors; the measured palette is almost entirely neutral.
- Don't make interface transitions slower than 0.5s.
## Motion
Interface transitions are quick: 0.15s, 0.5s, 0.075s, 0.1s.
- **Easing:** `cubic-bezier(0.4, 0, 0.2, 1)`, `ease-out`.
- **Reduced motion:** the page responds to `prefers-reduced-motion`.
Generated by [Sitepeel](https://sitepeel.dev/design-md/dub.co/), the free DESIGN.md generator.
What you can build with it
Landing pages, pricing tables, dashboards: your AI coding agent builds them in this style, with these colors, fonts, spacing and buttons instead of its defaults.
Download DESIGN.md, put it in your project’s root folder, then ask your agent for a page.
Build a landing page for my product. Follow for every color, font, spacing value, corner and button.
Need more than one page?
Design MD in the Sitepeel tools for Chrome measures pages behind a login, combines several pages into one file and works on any site you open.
More designs
See all →FAQ
Questions
What can I build with the Dub DESIGN.md?
Any page or component in this style: a landing page, pricing table, dashboard or sign-up form. Your AI coding agent uses the measured colors, satoshi type, spacing, corners and buttons instead of its own defaults.
How do I use it with Claude Code or Cursor?
Download the file and put it in your project’s root folder, then ask your agent to follow DESIGN.md. Step-by-step guides: Claude Code, Cursor, Codex, GitHub Copilot.
Is this Dub’s official design system?
No. Sitepeel measured it from dub.co’s public page on October 21, 2026. It is an independent analysis, not made or approved by Dub.
Can I use Dub’s style in my own product?
Use it to learn, prototype and compare. For a real product, make the style your own, and never copy Dub’s logo, name, pictures or text.
How accurate are the values?
Each value was measured on the rendered page after it fully loaded, on desktop and mobile: colors where they appear, type with tracking, spacing, corners, shadows and hover states. Sites change, so check the date at the top.




