Wolt DESIGN.md
DESIGN.md
Design System Inspiration of Wolt
Overview
Visual Theme & Atmosphere
Wolt is a delivery platform from Helsinki — restaurants, groceries and shops delivered through one app. On 31 May 2022 DoorDash completed its acquisition of Wolt in an all-stock deal; Wolt's own newsroom announced it, and Wolt keeps its name and brand.
The web is built on Alchemy, Wolt's in-house design system — the name is in Wolt's own code: the
--al-* tokens live in a CSS layer called alchemy, served from wolt.com/static/themes/al/. The look is bright and friendly: white and a warm off-white
#f5f1ed, a navy ink #272b42, the Wolt light blue #66cbf0 as the brand fill, a deep
teal #145367 for brand text and links, and big, fully rounded shapes. Headlines are set in
DD Scoop, whose files come from DoorDash's asset CDN.
What makes it worth reading:
- Every colour has five states. Alchemy names fills, surfaces, text and borders with
-hovered,-pressed,-selectedand-disabled—--al-color-bg-fill-brand#66cbf0→-hovered#56bee3→-pressed#4ab1d5. - Components own their radius.
--al-c-button-medium-corner-radius20px,--al-c-input-search-corner-radius9999px,--al-c-toggle-checkbox-corner-radius4px — radius is a component decision, not one global value. - Two generations, visible.
--al-*(Alchemy) sits beside an older--cb-*layer with the same base colours and no component tokens; the page's own layer order isreset, codeless, cb, alchemy, wpt-ui.
Primary tasks
- Enter a delivery address; browse restaurants and shops.
- Sign up or log in.
Brand Narrative
Wolt grew from Helsinki into a multi-country delivery company with a friendly, rounded, light-blue identity, and joined DoorDash in 2022 while keeping its own name. The web shows both halves of that story: Wolt's own design system, Alchemy, carrying every colour and state, and a headline face fetched from DoorDash's servers.
Principles
- States are named. Five steps for every colour.
- Round and warm. Big radii, greige neutrals.
- Components decide. Each component carries its own radius.
Personas
Not researched. No persona claim is made from a UI capture.
Colors
Measured with getComputedStyle on wolt.com/de/deu: 678 root custom properties — 405 --al-*
(Alchemy), 257 --cb-* (the earlier layer), eight --global-* scroll-padding helpers and a few
one-offs (--swiper-theme-color, --appsflyer-banner-height, Lightning CSS markers — excluded). Both
al and cb are served from Wolt's own /static/themes/ files.
Brand blue and teal
- Brand (
#66cbf0) —--al-color-bg-fill-brand. Brand Hovered (#56bee3) · Brand Pressed (#4ab1d5) · Brand Surface (#dcf7ff,--al-color-bg-surface-brand). - Brand Text (
#145367) —--al-color-text-brand, the colour of most links and the register button (428 elements). Brand Text Hovered (#0e4253) · Brand Deep (#08303e, pressed). - Focus (
#23748f) —--al-color-outline-focusedand--fallback-focus-outline: 3px solid #23748f.
Ink, fills and warm neutrals
- Foreground (
#272b42) — the navy ink of 2,605 text elements and most<p>. - Fill (
#151727) —--al-color-bg-fill, the dark fill · Fill Hovered (#363b57). - Text Hovered (
#5e5b59) —--al-color-text-hovered, a warm grey. - Canvas (
#ffffff) · Surface (#f5f1ed,--al-color-bg-surface) · Surface Secondary (#fbf8f5) · Surface Hovered (#eeeae5) · Inverse (#21201f). - Border (
#c3beb9) · Border Subdued (#ded9d4) · Border Selected (#3899bb).
The neutrals are warm — greige, not grey.
Status
Negative #c83527 · Positive #77d377 · Warning #ffad52, each with surface and state
steps.
Outside the tokens
The address field's hover border #009de0 and focus border #0f2594, and its text
#202125, are written directly on the control.
Typography
Font family
DD Scoop is the only web font that loads (document.fonts, a variable face 400–700) and it sets
the headlines only. Its @font-face rules, one per script range, all point at
img.cdn4dd.com/t/dd-scoop/DD-Scoop-*.woff2 — DoorDash's asset CDN. The same face and host serve the
Finnish site. DoorDash's own public writing about its typography names other faces; the DoorDash
link here rests on the file host and the name.
Body text, navigation and buttons use the operating system's sans stack (-apple-system, "system-ui", Roboto, "Segoe UI", …) — not recorded as a brand face.
Scale
Navigation, buttons and the address field are 16px, at 500 for controls and 400 in the field. The
cb layer carries the type primitives (font-size-title-xxxlarge, weights regular to bold).
Layout
--wcom-main-header-height70px,--wcom-side-padding32px.- Discovery pages use carousels with cloned off-screen cards (an infinite-scroll technique).
Responsive Behavior
Not measured. Desktop 1440×1000 only.
Elevation & Depth
No shadow on any measured control in any state. --al-color-shadow is rgba(0,0,0,0.07) and the
overlay rgba(0,0,0,0.48).
Motion & Easing
Not measured.
Tier 1 sources: https://wolt.com/de/deu (live landing page — 678 root custom properties, 405 --al-* Alchemy, read via getComputedStyle; three components measured at rest, hover, pressed and focus after dismissing the consent banner; DD Scoop loaded from img.cdn4dd.com, captured 2026-09-26); https://wolt.com/zz-this-does-not-exist (nonsense-path control, captured 2026-09-26); https://wolt.com/static/themes/al/default.css (Alchemy theme file — @layer alchemy { :root { --al-* } }; the page declares @layer reset, codeless, cb, alchemy, wpt-ui, read 2026-09-26); https://press.wolt.com/en-WW/215041-doordash-completes-acquisition-of-wolt/ (Wolt newsroom — "DoorDash Completes Acquisition of Wolt", read 2026-09-26)
Regional sources: https://www.sec.gov/Archives/edgar/data/1792789/000162828022015815/dash-20220531.htm (DoorDash Form 8-K, 2022-05-31 — the completed acquisition of Wolt Enterprises Oy)
Components
Three components, every state on its own page load after the consent banner was dismissed ("Nur erforderliche verwenden"), focus read under a real Tab key.
- Register — transparent,
#14536716px/500, 12px radius, 46px,0 16px. Hover changes nothing (:hovermatched). - Navigation links — Anmelden, Jobs:
#272b4216px/500. Hover warms the label to#5e5b59. - Address field —
#ffffff,#202125text, a 100px pill 58px tall with room for a leading icon (16px 52px). Hover turns its 2px border#009de0, focus#0f2594.
Focus is authored
Buttons and links draw outline: 3px solid #23748f under :focus-visible — Alchemy's focus colour.
The address field instead changes its border.
Radius
Alchemy's component radii: buttons 20px (medium, large) and fully round (small, extra small), inputs 20px or 16px, search fully round, popovers, toasts and tooltips 20px, checkboxes 4px. Rendered on the page: 12px, 8px, and the 100px pill.
States
Three components. Hover: none on Register, warm grey on navigation links, a cyan border on the address
field. Focus: a 3px #23748f outline on buttons and links, an indigo border on the field. No disabled
state was observed.
Do's and Don'ts
Do
- Use
#66cbf0for brand fills and#145367for brand text and links. - Take every state colour from Alchemy's
-hovered/-pressed/-selected/-disabledsteps. - Keep neutrals warm (
#f5f1ed,#c3beb9). - Round generously — 20px and fully round.
Don't
- Don't count
--cb-*as a separate palette; it is the earlier layer with the same values. - Don't use DD Scoop for body text; it is a headline face.
- Don't drop the 3px
#23748ffocus outline.
Voice & Tone
Not assessed as authored voice.
Agent Prompt Guide
Quick Color Reference
#66cbf0 brand blue · #145367 brand text · #23748f focus · #272b42 ink · #151727 dark fill ·
#f5f1ed surface · #ffffff page · #c3beb9 border · #c83527 negative · #77d377 positive ·
#ffad52 warning
Example Component Prompts
- "A 46px text button:
#14536716px/500, 12px radius; focusoutline: 3px solid #23748f." - "A 58px address pill: white, 100px radius, transparent 2px border that turns
#009de0on hover and#0f2594on focus."
Governance
Known Gaps
- Contrast,
button-register. Text#145367on#00000000measures 2.46:1, below the WCAG AA 4.5:1 minimum for normal-size text. Recorded as measured, not adjusted. - Contrast,
link-nav. Text#272b42on#00000000measures 1.51:1, below the WCAG AA 4.5:1 minimum for normal-size text. Recorded as measured, not adjusted.
색상
브랜드
면과 글자
상태
그 밖의 색
타이포그래피
- DD Scoop디스플레이
타입 스케일
- bodynavigation, buttons and the address field, on the system sans16px
여백과 모양
모서리 반경
- sm8px
- md12px
- lg20px
- pill9999px
컴포넌트
- input-address채움 #ffffff · 글자 #202125 · 반경 100px · 높이 58px · 안쪽 여백 16px 52px · 글자 크기·굵기 16px / 400
- 호버 border #009de0
- 포커스 border #0f2594