← all systems theverge
edit →

Design System Inspired by The Verge

1. Visual Theme & Atmosphere

The Verge’s 2024 redesign feels like somebody wired a Condé Nast magazine to a chiptune soundboard. The canvas is almost-black (#131313), the headlines are built from a brutally heavy display face (Manuka) that runs up to 107px, and the whole page is peppered with acid-mint #3cffd0 and ultraviolet #5200ff that behave less like brand colors and more like hazard tape. Story tiles are not quiet gray cards — they’re saturated, full-bleed color blocks (yellow, pink, orange, blue, purple) that feel like pasted-up rave flyers arranged into a timeline. The mood is “developer console meets club night meets tech tabloid”: serious enough to cover a congressional hearing, loud enough to review a synthesizer.

What makes this system unmistakable is the StoryStream timeline: a vertical feed where every post is a rounded rectangle — often 20–40px radius — filled edge-to-edge with color, framed by a thin border, and marked by a mono-uppercase timestamp on its left rail. Stories don’t float on a grid; they stack on a dashed vertical rule like commits in a git log. Above that, a massive “The Verge” wordmark dominates the masthead in Manuka at hero scale, letting the reader know before any headline loads that this is editorial territory, not a template.

There is no “light mode” on the homepage — the dark canvas is the product, and the only time the palette inverts is when a single story tile takes a mint or yellow fill. The depth is almost entirely flat: hairline 1px borders (#ffffff, #3cffd0, or #5200ff) do the work that shadows would do on a Material-flavored site. Every container is either #131313 with a 1px outline, a fully saturated accent block, or a slate-gray #2d2d2d secondary surface.

Key Characteristics:

2. Color Palette & Roles

Primary (Brand Hazards)

Secondary & Accent

Surface & Background

Neutrals & Text

Semantic & Accent

Gradient System

The Verge uses zero decorative gradients. The only gradient-like treatment is the transition from a saturated accent story tile (mint/purple/yellow) back to the #131313 canvas between rows. Color is applied in solid blocks, not as washes. This is a deliberate choice — the site’s hazard-tape visual identity would dissolve if anything faded.

3. Typography Rules

Font Family

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
Hero Wordmark / DisplayManuka107px / 6.69rem9000.801.07pxThe top-of-page “The Verge” logo and feature headlines
Secondary DisplayManuka90px / 5.63rem9000.80Section-level feature headlines
Tertiary DisplayManuka60px / 3.75rem9000.80Inline feature callouts
Large HeadlinePolySans34px / 2.13rem7001.00Section and module headlines
Heading WidePolySans32px / 2.00rem4001.100.32pxSub-heroes, promotional units
Heading MediumPolySans24px / 1.50rem7001.00Story tile headlines in the main feed
Heading SmallPolySans20px / 1.25rem7001.00Compact tile headlines
Light Capitalized LabelPolySans19px / 1.19rem3001.201.9pxThin-weight capitalized eyebrows — a distinctive Verge move
All-Caps Label XLPolySans18px / 1.13rem4001.101.8pxUPPERCASE section kickers
Bold BodyPolySans16px / 1.00rem7001.00Emphasis within decks
Body RelaxedPolySans16px / 1.00rem5001.60Long-form reading body
Inline LabelPolySans15px / 0.94rem4001.200.15pxUI labels and secondary headlines
Body CompactPolySans13px / 0.81rem4001.60Secondary captions and decks
Eyebrow All-CapsPolySans12px / 0.75rem4001.301.8pxUPPERCASE kicker above tile headlines
Tag LabelPolySans12px / 0.75rem4001.200.72pxUPPERCASE category tag
Caption MicroPolySans11px / 0.69rem4001.201.1pxUPPERCASE bylines
Meta NanoPolySans10px / 0.63rem5001.401.5pxUPPERCASE timestamp microtext
Mono Button LabelPolySans Mono12px / 0.75rem6002.001.5pxUPPERCASE button text, very open leading
Mono TimestampPolySans Mono11px / 0.69rem500/6001.201.1–1.8pxUPPERCASE StoryStream timestamps
Serif BodyFK Roman Standard16px / 1.00rem4001.30-0.16pxReview decks, print-voice excerpts
Serif CaptionFK Roman Standard20px / 1.25rem4001.20Magazine-style pull quotes

Principles

Note on Font Substitutes

The 0.80 line-height on Manuka display (107px, 90px, 60px) assumes the proprietary Manuka face from Klim Type Foundry, which has aggressively tight vertical metrics designed for athletic stance at large sizes. If you substitute with wide-metric open-source condensed displays like Anton, Oswald, Bebas Neue, or Archivo Black, loosen display line-heights by approximately +0.10 to +0.15 to prevent ascender/descender collisions (e.g., 0.80 → 0.95). PolySans substitutes (Space Grotesk, DM Sans, Hanken Grotesk) work at the token values without adjustment — their metrics are close enough. PolySans Mono substitutes (Space Mono, JetBrains Mono) and FK Roman substitutes (Newsreader, Literata) also work without adjustment.

4. Component Stylings

Buttons

Primary — Jelly Mint Pill

Secondary — Dark Slate Pill

Tertiary — Outlined Mint

Outlined Ultraviolet (Promotional)

Pill Tag (Non-interactive)

Cards & Containers

StoryStream Tile

Feature Card (Top Story)

StoryStream Rail (Timeline)

Inputs & Forms

Image Treatment

StoryStream Timeline Item (Distinctive)

5. Layout Principles

Spacing System

Grid & Container

Whitespace Philosophy

The Verge treats whitespace like a club DJ treats silence — as a dramatic reset between loud moments. The canvas is so dark and the accents are so saturated that even 32px of empty #131313 between two tiles acts as a palette cleanser. The page is not airy like Apple or Stripe; it’s paced, with loud hazard-color blocks interrupting stretches of near-black. Whitespace carries the rhythm, not the elegance.

Border Radius Scale

Eight discrete radius values — a lot for a single site. This is deliberate: the rhythm between 2px typewriter tags, 20px pill cards, and 40px outlined buttons creates a “nested scale” feel where every component announces its hierarchy through its corners.

6. Depth & Elevation

LevelTreatmentUse
0No border, no shadowDefault #131313 canvas text
1rgba(0,0,0,0) 0px 0px 0px 0px inset (placeholder)Reset state for interactive elements
21px solid #ffffff or #313131 hairlineImage frames and quiet card outlines
31px solid #3cffd0 hairlineActive button outlines, focused story tiles
41px solid #5200ff hairlinePromotional/alternate state outlines
5rgba(0, 0, 0, 0.33) 0px 0px 0px 1pxThe single “atmospheric” ring — applied to layered cards
60px -1px 0px 0px inset (mint/black/white)Active tab underline — a signature Verge move
7Saturated accent fill (#3cffd0, #5200ff, white, yellow, pink)Story-tile elevation via color, not shadow

The Verge’s depth philosophy is color-as-elevation. When something needs to stand out, it doesn’t get a shadow — it gets a mint fill or a 1px hazard-color border. There are 14 shadow entries in the extracted tokens, but all of them are either inset underlines (0px -1px inset) or near-transparent 1px rings — none of them are traditional elevation shadows. The #131313 canvas stays perfectly flat throughout, and hierarchy is carried by color saturation.

Decorative Depth

7. Do’s and Don’ts

Do

Don’t

8. Responsive Behavior

Breakpoints

NameWidthKey Changes
Small Mobile<400pxSingle column, Manuka hero scales down to ~48–54px, StoryStream rail collapses to inline timestamps
Mobile400–549pxSingle column, color-block tiles stack full-width, nav is a hamburger drawer
Large Mobile550–767pxStill single column but padding opens up, tile radii stay at 20px
Tablet768–1023px2-column StoryStream with feature card spanning, wordmark shrinks ~50%
Small Desktop1024–1179pxFull 3–4 column editorial grid, mint pill CTA restored to nav
Desktop1180–1299pxMax padding, Manuka wordmark at full hero scale
Large Desktop≥1300pxContainer caps at ~1280–1300px, whitespace expands at the margins, no further scaling

The dembrandt sweep detected 26 intermediate breakpoints (1300 → 1280 → 1200 → 1181 → 1180 → 1179 → 1024 → 1023 → 901 → 900 → 897 → 896 → 890 → 769 → 768 → 620 → 605 → 600 → 550 → 549 → 530 → 426 → 425 → 400 → 320). The Verge tunes its grid at virtually every major device boundary — an unusually aggressive responsive strategy.

Touch Targets

Collapsing Strategy

Image Behavior

9. Agent Prompt Guide

Quick Color Reference

Example Component Prompts

  1. “Create a StoryStream timeline item on a #131313 canvas: a 20px-radius rectangle with a 1px solid #ffffff border, a PolySans Mono 11px / 600 / UPPERCASE / 1.1px tracking timestamp on the left rail, a 12px PolySans UPPERCASE kicker in mint (#3cffd0), and a 24px / 700 PolySans headline in white below. No shadow, no lift — hover only shifts the headline color to #3860be.”
  2. “Design a primary subscribe button with a Jelly Mint (#3cffd0) fill, black text in PolySans Mono 12px / 600 / UPPERCASE / 1.5px tracking, 24px border radius, 10px × 24px padding. Hover state shifts to rgba(255, 255, 255, 0.2) background with a 1px #c2c2c2 ring shadow, 180ms ease.”
  3. “Build a feature hero with a 107px Manuka 900 headline in white with 1.07px letter-spacing and 0.80 line-height, a thin-weight 300 PolySans 20px capitalized kicker above with 1.9px tracking, on a #131313 canvas with 64px vertical padding.”
  4. “Create a color-block accent tile filled with Verge Ultraviolet (#5200ff) at 0.9 alpha, 24px border radius, white text, a PolySans Mono 11px UPPERCASE category label with 1.5px tracking at the top, and a 32px PolySans 400 capitalized headline with 0.32px tracking below.”
  5. “Design a dark slate secondary button with a #2d2d2d background, #e9e9e9 PolySans 16px text, 24px radius pill shape, 10px × 24px padding. Hover matches the primary button — translucent white rgba(255, 255, 255, 0.2) bg with black text.”

Iteration Guide

When refining existing screens generated with this design system:

  1. Audit the canvas. If you see a light background anywhere on the homepage, flatten it to #131313. There is no light mode.
  2. Audit corners. Every rectangle should land on 2/3/4/20/24/30/40px or 50%. Square corners break the voice.
  3. Audit shadows. Strip every box-shadow that isn’t a 1px inset underline or a 1px hazard-color border. The Verge uses color for elevation, not shadow.
  4. Audit type roles. Manuka only ≥60px. PolySans Mono only UPPERCASE. PolySans 300 at 19–20px should have 1.9px tracking. FK Roman only for body/magazine moments, never UI.
  5. Audit accent usage. Mint and ultraviolet should appear as hazard accents — buttons, 1px borders, active underlines, saturated tile fills. If they’re appearing as background washes or gradient fades, correct to solid blocks.
  6. Audit labels. Every kicker, timestamp, category tag, and button label should be ALL CAPS with 1.1–1.9px letter-spacing. Missing tracking = missing voice.
  7. Audit link hover. Every link, regardless of its base color, should hover to #3860be deep link blue with no underline. Any other hover color is drift.