Search K

At a glance

§ 00.1
01 · Foundations06

Hard tokens

Color, type, spacing, radius, shadow, motion. One pass, zero drift.

02 · Components05

Build blocks

Buttons, inputs, cards, badges, navigation — all the primitives for product work.

03 · Applied03

In practice

Data viz, voice, and a worked case study template using every primitive in the kit.

The mark

§ 00.2
Amaca logo
The symbol

Three isometric cubes forming a triangle.

Each cube is a product. The triangle is a system — components snapping together into something larger. The cyan-to-mint gradient is signal: alive, in motion, in the present tense.

Primary mark Isometric · 30°
01 · CLARITY BEFORE CLEVERNESS

The obvious answer, made inevitable.

If a user has to decode an icon or guess at a label, we failed. Metaphors earn their keep or get cut.

02 · EVIDENCE OVER OPINION

Every decision shows its work.

Case studies document the path, not just the destination. Data, sketches, dead ends — all of it stays in the file.

03 · PRECISION IS A FEELING

4px grid. 240ms ease. Always.

Spacing, timing, typographic rhythm — when they're locked, the work reads as considered before a single word is parsed.

04 · QUIET, THEN LOUD

Restraint makes accents work.

90% of the surface is neutral. The magenta only shows up when it matters — and then it matters a lot.

05 · MOTION IS A MATERIAL

Interfaces are not static. Neither is this document.

Ten years of motion work taught me one thing: an idle interface lies about itself. The way something arrives, settles, responds — that is the design, not the decoration of it.

Every surface in this system breathes on the same curve — CUBIC-BEZIER(0.16, 1, 0.3, 1) — so the whole document feels like a single instrument, played deliberately.

Brand · signal

§ 02.1

The magenta range. Use for primary actions, links, data emphasis, and gradients. Never for body text.

Magenta 100#FFE3F8Surface · tint
Magenta 200#FFB5ECSoft · hover bg
Magenta 300#FF85DFLink hover
Magenta 400#F868D8Accent · eyebrow
Magenta 500 — Primary#F051D5Brand · actions
Magenta 600#C93BB0Pressed
Magenta 700#9A2D87Deep · shade
Grad · Signal500 → 300Brand · gradient

Obsidian · neutrals

§ 02.2

The working surface. Eleven-step scale from page bedrock to bone. Body text lives at 100; metadata at 300; edges at 700.

Obsidian 950#07090BPage
Obsidian 900#0B0E12Surface
Obsidian 850#10141AElevated
Obsidian 800#161B22Card
Obsidian 700#1E242DBorder
Obsidian 600#2A313BDivider
Obsidian 500#3A4451Edge
Obsidian 400#5B6573Disabled
Obsidian 300#8A94A3Secondary
Obsidian 200#B8C0CBTertiary
Obsidian 100#E3E7ECBody text
Obsidian 050#F4F6F8Bone

Secondary · electric cyan

§ 02.3

High-voltage cyan. Use for focus accents, highlighted states, and secondary emphasis — never as a second primary.

Secondary 100#D9FCFBTint
Secondary 300#4FF1ECHover
Secondary 500 — Electric#00FFF2Accent
Secondary 700#04918DDeep

Tertiary · petrol

§ 02.4

Deep petrol teal. Used for default badges, quiet tags, and neutral chips that shouldn’t read as brand but still need color.

Tertiary 100#CEEAF1Tint
Tertiary 300#4FA9BFText on dark
Tertiary 500 — Default#0C6078Badge stroke
Tertiary 600#084C61Deep

Semantic · signals

§ 02.5

Reserved for feedback only — success, warning, danger, info. Never use as decoration.

Success#3AFFC7Confirm · saved
Warning#F6C65BCaution · pending
Danger#FF5B5BError · destructive
Info#5CC8FFInfo · neutral state

Usage matrix

§ 02.6
TokenValueUseDon't
--magenta-500#F051D5Primary CTA, focus ring, emphasisBody text, large backgrounds
--grad-signalmagenta 500→300Headlines, accents, data highlightsMore than one per screen
--obsidian-950#07090BPage background onlyCard surfaces
--obsidian-100#E3E7ECBody text on darkPure white — never use #FFF
--danger#FF5B5BDestructive actions, form errorsWarnings or neutral states

Display scale

§ 03.1
--t-display112 / 1.05 / -4%
Black · 900

Reshape.

--t-h176 / 1.05 / -4%
Bold · 700

Design that compounds.

--t-h252 / 1.05 / -4%
Bold · 700

A case for quiet precision.

--t-h338 / 1.2 / -2%
Bold · 700

Systems outlive the work

--t-h430 / 1.2 / -2%
Bold · 700

Evidence over opinion

--t-h524 / 1.2 / -2%
Semibold · 600

The obvious answer, made inevitable

Text scale

§ 03.2
--t-lead18 / 1.65
Regular · 400

Lede paragraph. Sits under page titles. Used once per page to set the register before body text takes over.

--t-body15 / 1.45
Regular · 400

Body copy. Reads comfortably at 62–72 characters per line. Default for paragraphs, long-form notes, and case studies. Leading stays loose to respect the dark background — tight type on dark surfaces strains eyes.

--t-small13 / 1.45
Regular · 400

Small text. Captions, table rows, secondary UI copy.

--t-caption12 / 1.45
Regular · 400

Caption · image credit, footnote, timestamp.

--font-mono13 / 1.45 / +6%
Mono · 500

Metadata · timestamps · system labels

Weights available

§ 03.3
Light 300
Satoshi-Light
Regular 400
Satoshi-Regular
Medium 500
Satoshi-Medium
Bold 700
Satoshi-Bold
Black 900
Satoshi-Black
Italic
Satoshi-BoldItalic

Pairing rules

§ 03.4
Rule 01Headlines always negative track. Never tighter than −4%, never looser than −2%.
Rule 02Mono is metadata only. Timestamps, token names, labels, status — never prose.
Rule 03Italic is for emphasis in running text. Never for UI labels or headlines.

Scale

§ 04.1
--s-00 px
--s-14 px
--s-28 px
--s-312 px
--s-416 px
--s-520 px
--s-624 px
--s-832 px
--s-1040 px
--s-1248 px
--s-1664 px
--s-2080 px
--s-2496 px
--s-32128 px

Where to reach

§ 04.2
ContextTokenNotes
Inline icon–label gap--s-28px. Always.
Button padding (vertical)10pxNot on the 4-grid — intentional optical tune.
Card interior padding--s-624px standard. --s-8 on hero cards.
Subsection vertical rhythm--s-2080px between subsections.
Page top padding--s-1248px below top bar.
Section → section--s-2496px breathing room on long pages.

Radius scale

§ 05.1
None
--r-none · 0
Extra-small
--r-xs · 2px
Small
--r-sm · 4px
Medium
--r-md · 8px
Large
--r-lg · 12px
X-large
--r-xl · 16px
2X-large
--r-2xl · 24px
Full
--r-full

Elevation

§ 05.2
Level 1
--sh-1 · subtle
Level 2
--sh-2 · card
Level 3
--sh-3 · popover
Level 4
--sh-4 · modal
Glow
--sh-glow · focus
Glow soft
--sh-glow-soft

Durations × easings

§ 06.1
StandardDefault UI
240 ms
DecelEntrances
240 ms
AccelExits
160 ms
SpringDelight · reveal
640 ms

Click to re-trigger animations.

Duration tokens

§ 06.2
TokenmsUse
--d-instant80Hover state, tap feedback
--d-quick160Button states, focus rings
--d-base240Default — most UI transitions
--d-slow400Page enters, panel slides
--d-scene640Hero reveals, orchestrated sequences

The grid

§ 07.1
1
2
3
4
5
6
7
8
9
10
11
12

Breakpoints

§ 07.2
NameMin widthColumnsGutter
Mobile0416px
Tablet720820px
Desktop10241224px
Wide14401224px, capped at 1180 content

Common layouts

§ 07.3
Sidebar · contentDefault
Hero · three-upLanding
Editorial · splitCase study

Variants

§ 08.1

Sizes

§ 08.2

With icons

§ 08.3

Fields

§ 09.1
Shown in case study index cards.
Slug must be lowercase with hyphens.

Project card

§ 10.1
CS-017 · 2025Live

Arc · Automotive HMI

Rethinking the center stack for a next-gen EV. 18 months, 4 platforms.

CS-019 · 2026Embargo
CONFIDENTIAL

Project Orion — IoT platform

Fleet telemetry for industrial robotics. Details under NDA until Q3.

CS-015 · 2024Archive

Field · observability app

On-call dashboards for a SaaS infra company.

Click to re-trigger animations.

Stat card

§ 10.2
Retention · D30CS-017
0%
▲ 12pt vs. baseline
Task timeCS-017
0%
vs. legacy HMI
NPSCS-019
0
▲ 8 from Q4
Error rateCS-015
0.0%
▲ from 0.1%

Click to re-trigger animations.

Status variants

§ 11.1
Default Live Shipped In review Blocker Reading now Featured

In context

§ 11.2
Arc Automotive HMI
2024–2025 · 18 months
Shipped
Project Orion — IoT platform
2025–2026 · ongoing
Embargo
Field observability
2023 · 6 months
Archive

Line · area

§ 13.1
Task time · Arc HMI
Median, seconds to complete priority flow
20242023 baseline
4530150 Q1Q2Q3Q4

Click to re-trigger animations.

Bars · comparison

§ 13.2
Adoption by regionOrion · beta
EMEAAMERAPACLATAM 91%71%58%29%
Sessions by daylast 14d

Click to re-trigger animations.

Palette ramps

§ 13.3
Sequential · magentaHeatmaps · density
0255075100
CategoricalUp to 6 series
Cyan
Mint
Info
Warn
Danger
Neutral

Click to re-trigger animations.

Voice attributes

§ 14.1
01

Direct

Short sentences. Active voice. Verbs first.

02

Specific

Numbers, durations, scope. Not "improved" — "−41% task time."

03

Honest

Name the tradeoffs. Name the dead ends. No mythologizing.

04

Engineered

Treat prose like a system: tokens, rules, consistent rhythm.

Do / Don't

§ 14.2
Do

"Cut the task flow from 11 screens to 4. Median time dropped from 38s to 22s."

Don't

"Leveraged a holistic, user-centered approach to synergize the end-to-end experience."

Do

"This didn't work. Users read 'send' as destructive. We reframed the action."

Don't

"Through iterative exploration and rigorous testing, we arrived at an optimal solution."

Vocabulary

§ 14.3
UseInstead ofBecause
ship"roll out", "launch at scale"Concrete, not inflated
cut"reduce", "optimize"Action, not abstraction
the thing"the solution", "the experience"Clarity over reverence
we learned"key insights surfaced"Who, not what
wrong"non-optimal"Be willing to be wrong out loud
CS-017 · 2024–2025 · 18 months

Rebuilding Arc's in-car interface, one glance at a time.

A next-generation automotive HMI for a connected EV — reshaping how drivers interact with their vehicle at 70mph and at a standstill.

RoleLead Product Designer
Team3 designers, 14 engineers, 2 researchers
PlatformCenter stack · cluster · companion
Outcome−41% task time · +12pt retention
01 · Brief

The legacy stack made drivers work.

Arc's previous HMI borrowed patterns from mobile — deep hierarchies, tap-heavy flows — and dropped them into a 70mph context. Users were spending 38 seconds on average to complete the top-three priority tasks. That number needed to move.

We started with a constraint: every primary task completes in under 3 interactions, under 10 seconds, eyes-on-road. Everything else followed.

"The design system was the outcome. Every shipped screen was a byproduct of the tokens."
02 · Process

Measure twice, cut once.

Three months of in-vehicle observation before a single screen was drawn. We instrumented the legacy HMI and logged every interaction over a 6-week period, then correlated with eye-tracking data from our research partners.

Fig. 01 · In-vehicle observation · 6 weeks, 42 participants

The map that came back was unambiguous: 73% of distracted-driving events clustered around three flows. Those three became our design targets.

03 · Outcome

Measured, shipped, maintained.

Task timePriority flows
−41%
38s → 22s median
Eyes-off-roadNHTSA 12s rule
−64%
Below safety threshold
RetentionD30
+12pt
72 → 84%

Shipped to 2 vehicle platforms in Q4 2024. The token system that emerged from this project became the foundation for Arc's entire product design language — and for this design system.

04 · Reflection

What I'd do differently.

We underinvested in the companion mobile app for the first 6 months, treating it as a delivery vehicle for the in-car experience rather than its own surface. By the time we corrected course, three flows had to be rebuilt. The lesson — surfaces are equal citizens from day one — is now baked into how I scope every multi-platform project.