Latitude Design System
Anchorage Digital2022–PresentSenior Product Designer

Latitude Design System

The token-driven source of truth powering two brands across Web and iOS, in light and dark.

Role

Senior Product Designer

Timeline

2022–Present

Platform

Web · iOS · light + dark

Team

Design Systems Team

FigmaDesign Tokens (DTCG)TailwindSwiftGitHub Actions

The Problem

Anchorage Digital builds regulated digital-asset custody software, where a misread balance or an ambiguous confirmation isn't a polish issue. It's a trust issue. The catch: one product surface has to serve two brands (Anchorage and Porto), two platforms (Web and iOS), and both light and dark modes, without the UI fragmenting as teams ship in parallel.

The Solution

Latitude is the single source of truth that holds all of that together. Design decisions live as versioned tokens (authored in the W3C DTCG format and consumed from @latitude/tokens), so one component renders correctly for either brand and mode by swapping a layer, never by forking. The rule across the org is simple: default to Latitude, custom UI is a last resort.

Key Tokens

color.ref.primary
#5B7CFA
color.ref.accent
#1FB6A8
Prefix
--lds-*
Format
W3C DTCG

2

brands (Anchorage · Porto)

2

platforms (Web · iOS)

3

token tiers (sys · ref · comp)

A layered token architecture

Tokens resolve through five source layers (Base, Effects, Brand, Mode, then Platform) and three tiers: global primitives (sys), semantic aliases (ref), and component-bound values (comp). Product code references ref and comp tokens, never raw primitives, which keeps every component brand- and mode-agnostic by construction. Eight color families (anchor, ocean, iron, starfish, lobster, sunset, algae, seashell) feed the whole system.

Two brands, one codebase

Anchorage maps its primary to blue, Porto maps it to lilac, but both resolve through the same alias tokens, so a button is written once and themes itself. Nothing in application code assumes a brand. That discipline is what lets two products share a system while still feeling distinctly themselves.

Design-to-code, automated

A single build emits everything downstream needs: a Tailwind preset and per-brand, per-mode CSS variables for Web, Swift tokens for iOS, and an SVG icon sprite. Icons sync nightly from Figma via a GitHub Action, and merges to master auto-publish the package to a private registry. I replaced Tokens Studio with an in-house token editor and a Figma sync plugin so the source of truth stays in the repo, not a third-party tool.

Principles over pixels

The system encodes intent, not just style: security-first (communicate risk before critical decisions), user-in-control, transparency, and a warm, human voice. Accessibility is non-negotiable: semantic HTML, visible focus, and never color alone to carry meaning. Teams inherit safe, accessible defaults instead of bolting them on.

What I did

  • Architected the five-layer token pipeline (Base → Effects → Brand → Mode → Platform) in W3C DTCG format
  • Defined the sys → ref → comp tiering that keeps product code brand- and mode-agnostic
  • Built an in-house token editor and a Figma sync plugin, replacing Tokens Studio
  • Automated multi-target builds: Tailwind preset, per-brand CSS variables, iOS Swift tokens, and an icon sprite

How it works

One set of tokens is the contract. They can be created and controlled in Figma, in code, or with AI. The structure is platform-agnostic, so the same source drives Figma, Web and iOS in lockstep.

Create & control

Figma

Author tokens visually

Code

Edit the token JSON

AI

Generate & adjust

sync

Single source of truth

Latitude Tokens

W3C DTCG · platform-agnostic

build

Drives every surface

Figma components

Variables via sync plugin

Web

Tailwind preset + --lds CSS vars

iOS

Swift tokens

However tokens are authored (design tool, code, or AI), they resolve to one platform-agnostic source that designers and engineers share. No hand-off drift.

From primitive to product · one token, three tiers

sys

Global primitive

color.sys.anchor.blue-50

Raw value

ref

Semantic alias

color.ref.primary

Anchorage → blue

Porto → lilac

Brand-agnostic decision

comp

Component-bound

color.comp.action.primary

What components consume

Resolved in orderBaseEffectsBrandModePlatform
Next Project

Spaceship Design System

Next Project