← Back to the screen

Design system portfolio

starbucks-brand — Halloway — the record

The four direction lines behind this page, the generator command that produced its tokens, and the pairs it was measured against.

Building a flat white for pickup, on a phone, on the morning the shop has run out of the milk your saved drink is made with.

The fourth brand specimen, and the warm one. It is also the only page in this portfolio whose canvas is not white or near-black.

Where the style comes from

Transcribed from awesome-design-md/design-md/starbucks/DESIGN.md, read 2026-09-16, and emitted by:

python3 tools/brand_tokens.py starbucks-brand > systems/starbucks-brand/tokens.css
python3 tools/brand_tokens.py starbucks-brand --check
python3 tools/brand_tokens.py --self-test
DecisionTranscribed
Canvas#f2f0eb, a cream — white is what a card is made of
Greensbrand #006241, accent #00754a, house #1e3932, uplift #2b5148, light #d4e9e2
Gold#cba258, "never a general-purpose brand color" — reserved for rewards
Semanticserror #c82014, warning #fbbc05
Type80 · 58 · 45 · 24 · 19 · 16 · 14 · 13 px
Trackingdefault negative, -0.01em, even at body size
Weights400 and 600
Radii12px cards, 50px full pill on every button
Motionpublished: 0.2s / 0.3s / 0.4s, ease-out, plus an overshoot curve
Pressscale(0.95) — the signature micro-interaction
Depthwhispered; 0.14 and 0.24 alpha, one assertive floating button

The finding that shaped the generator's ramp. Two of this brand's text values are published as ALPHA blacks — rgba(0,0,0,0.87) and rgba(0,0,0,0.58) — and a translucent value cannot go in a ramp the solver walks, because it has no fixed contrast until you know what is behind it. Both are composited against this brand's own cream canvas and the solid result is what the ramp carries. The derivation is stated in the generator rather than the composited numbers being presented as published values.

Two measured pairs worth naming. White on the green action reads 5.76:1, so the reference's own filled CTA is legal as published. The same green as a WORD on the cream canvas reads 4.71:1 and on the recessed band 4.51:1, so accent-text is a shade deeper than the fill — the same split the other three brands here needed, arrived at independently each time.

The direction

The second state

The out-of-stock ingredient, which is the state a mobile order actually breaks on and the one every demo of one leaves out. It is the hardest state a wizard has, because a wizard's whole promise is that the steps are answerable.

Deviations from CONTRACT.md

Findings kept, with reasons

What the gates changed

craft_lint's no-primary-action caught the two recovery buttons drawn at the same weight. One of them finishes the order here and now; the other costs a nine-minute walk to a different shop. Drawing them identically made the reader decide twice, so the first is now the filled pill.