NorthQuad x 120Water · Design System

The 120Water Design System.

Two product lines, one token architecture, built and maintained solo alongside engineering.

38%Faster Design-to-Engineering Handoff
2 of 2Products Shipped Reusing It, Zero Redefinitions
32Components Built WCAG 2.1 AA
100%Token-Strict, Zero Hardcoded Hex
My Role
Sole Owner, Tokens Through Governance
Timeline
2025 · Present
Tools
Figma · CSS Custom Properties · Claude
The Stakes

No legacy mess to inherit. A harder problem: staying consistent while shipping fast.

"9 color tokens inherited from the existing system. Same hand, every product."

Verification Planner build notes, on reusing Sample Manager's tokens

The Structural Strategy · Foundation

Six families. Four stops each. Zero exceptions.

24
Primitive tokens across 6 families
2
Products drawing from the same set, no redefinitions
0
Hardcoded hex values in shipped component CSS
Primary · Cyan
#2ECCFF
Brand accent, progress fills, timeline dots
Secondary · Navy
#294088
Primary buttons, table links, active nav
Tertiary · Gold
#FFBF00
Defined in the token set, not yet drawn on by either shipped product
Alert · Amber
#AE6400
Needs-attention states, admin-disabled
Warning · Magenta
#D70049
Overdue, flagged, destructive actions
Success · Green
#007F4A
Completed, verified, passed checks
A Second System, Same Client
  • A second, semantic system lives in the same workspace: Text, Surface, Border, Status, Action, Icon.
  • Different hex values even where names sound alike. Action/Primary here is the primitive set's Secondary navy.
Action/Primary #294088
Action/Brand #2ECCFF
Status/Info #258ABA
Status/Danger #D53956
Surface/Inverted #1F2430
The Structural Strategy · Foundation

A brand refresh, and a caption problem it happened to fix.

Classic
VERIFICATION PLANNER
Sample results pending lab confirmation
H1 and Legal/Micro/Tag/Floor, both Bebas Neue
Current
Verification Planner
Sample results pending lab confirmation
One face, every size. Shown in Inter, the free substitute for Proxima Nova.
The Structural Strategy · Engineering Alignment

No Storybook bridge. Tokens as the shared language instead.

38%
Faster design-to-engineering handoff once the system existed
1
Dev Connect that changed the architecture, not just the visuals
The Structural Strategy · Components

What Figma defines. What actually shipped.

120water-design-system · live components, real tokens
Alerts
3 semantic colors, 2 states each
6 defined1 shipped
This is the alert text
Primary / Cyan, outline state
This is the alert text
Primary / Cyan, filled state
This is the alert text
Alert / Amber, outline state
This is the alert text
Alert / Amber, filled state, closest to what shipped
This is the alert text
Warning / Magenta, outline state
This is the alert text
Warning / Magenta, filled state
Badges
Status pills, gradient fills between the 600 and 700 stops
5 defined5 shipped
Success In Progress Pending / Sent Inactive Warning
4 of 5 map to shipped classes. Inactive is Figma-only, the gray here is a placeholder, not a spec.
Buttons
A 3-tier hierarchy, defined once
3 defined1 shipped
Shipped as .button-primary
Defined, shipped only as a borderless text link
Defined, not shipped in either product
Form Controls
Search, checkbox, slider, toggle
4 defined1 shipped
Shipped as .search-input
Defined, not in the build doc
Defined, not in the build doc
Defined, not in the build doc
Modals & Cards
One modal shell, reused everywhere it's needed
9 card variants1 shell, shipped
Governance · How This Gets Extended

One person, tracking the whole vocabulary.

Family
Defined in Figma
Shipped in Product
Gap
Alert
3 semantic colors, 2 states each
1, warning only, inline
5 of 6 states unshipped
Badge
5 states
5 states, 1 name mismatch
Inactive undocumented in code
Button
3 tiers
1 tier, plus a text-style link
Secondary and Brand undocumented
Form Controls
Search, checkbox, slider, toggle
Search only
3 of 4 controls undocumented
Modal & Cards
9 card variants, 2 modal shells
1 generic shell, reused everywhere
Purpose-built cards undocumented

Not a failure. The gap staying visible is the point.

Governance · How It's Maintained

Nothing overwrites prior work. No wiki tool, just a doc that stays current.

Outcomes & Retrospective · ROI

Portable, not just internally consistent.

Proven by reuse, not by looking finished alone.

2
Products live on one primitive token set, zero redefinitions
15
Utility organizations running on a system built WCAG 2.1 AA from day one
0
Hardcoded hex values in shipped component CSS, across both products

Honestly: two products exist. Both use it. Not enterprise scale, real scale, and nobody had to be told to reuse it.

Outcomes & Retrospective · Critical Takeaways

The real test is the second time someone reaches for it.

Next Project
Full case study
OneCause Milestone Dashboard