Tokens and components. Spec lives in docs/DESIGN-SYSTEM.md. Contrast figures below are measured in your browser from the live tokens, not copied from the spec — change a token and this page reports it.
LOCKED. NORTH lettered in the same hairline hand that draws the turn glyphs, with the O replaced by a working compass — and the needle's north point is the one filled shape in the whole identity. Do not redraw: the geometry (cap 28, gaps 9, both needle halves on one pen) was settled by measurement.
Three families, only three. The primary action is ink, not a hue — that sidesteps the entire fintech color problem. There are no red/green financial semantics, so nothing is encoded in hue and there is no colorblind remediation to do.
surface-pagesurface-raisedsurface-sunkenline-hairlinetext-primarytext-secondarytext-tertiarytext-disabledsignal-coachsignal-attentionaction-border| Token | Use | Ratio | Verdict |
|---|---|---|---|
--text-primary | The read, figures, primary action | — | — |
--text-secondary | Supporting prose, labels | — | — |
--text-tertiary | Metadata, timestamps | — | — |
--signal-coach | Coach presence, focus ring | — | — |
--signal-attention | Attention, max once per view | — | — |
| Token | Use | Ratio | Verdict |
|---|---|---|---|
--action-border | Control boundary — was 1.68, fixed | — | — |
--action-border-hover | Control boundary, hover | — | — |
--signal-band | Horizon band — solid, never a tint | — | — |
--text-disabled | Decorative marks only, never text | — | — |
--line-hairline | Separation only — no meaning | — | — |
Three faces, three jobs. Newsreader is the coach thinking; Geist Mono is the machine computing; Geist Sans is the interface getting out of the way. The largest thing on any screen is a sentence, not a number.
You’re holding 11 months of expenses in cash. Three is the floor.
Spacing is Tailwind's own 4px scale, deliberately not renamed — the sanctioned steps are 4/8/12/16/24/32/48/64/96. Radius tokens are semantic so `rounded-lg` keeps its framework meaning.
p-1 · 4pxp-2 · 8pxp-3 · 12pxp-4 · 16pxp-6 · 24pxp-8 · 32pxp-12 · 48pxp-16 · 64pxp-24 · 96pxrounded-chip · 8pxrounded-control · 12pxrounded-card · 20pxrounded-sheet · 28pxElevation never conveys hierarchy — only that a surface floats above scrolling content. Shadows are warm-tinted; a cool shadow on warm paper reads as dirt.
shadow-cardshadow-sheet--motion-micro · --motion-standard · --motion-considered · --motion-ceremonialThe signature component and the only way a number enters the product. Every Figure carries a confidence, and that confidence is part of the accessible name — a screen reader user learns which numbers are theirs and which are North's guesses, exactly as a sighted user does.
You hold in checking — about of expenses, growing at a year.
That leaves of unused tax-advantaged space this year.
One primary per screen. Selection is weight and surface, never a color fill. The product has exactly one text field — there is deliberately no form suite.
North has exactly one card and it is the decision — three variants, not three components. History is rows, not cards; that contrast is what makes the card mean something.
MVP contains one visualization, and calling it a chart overstates it. No axes, no gridlines, no legend, no tooltip.
The turn primitive for the correction loop and goal capture — the reuse that removes a settings screen from the IA. Onboarding itself composes full-viewport sections and no longer uses this. One question at a time, and no workload meter.
What's the money thing you keep meaning to deal with?
I have cash piling up and no idea what to do with it.
Roughly what does your household bring in?
Product-tier marks (components/north), shown here so the system stays honest about every mark it makes. Six hairline strokes on a uniform skeleton — every figure interpolates into every other; nothing is ever swapped.
Body text sets the left edge.
An empty state is never 'no data' — it is 'here's what happens next'. An error must never imply the user's money is affected, and the coach never breaks character.
Nothing here yet.
The first decision you make will land here, along with whether you held it.
I can't pull your plan together right now.
Nothing about your situation has changed, and every decision you've made is still recorded.