Token consolidation
5tokens droppable if merges accepted (119 → 114)
This site is built by AI + Design working together — not AI replacing design judgment, and not design ignoring what AI is good at. The two stay in their lanes, each doing what it’s actually better at. Everything below shows where that line falls.
Reading this page’s real --color-* custom properties live via getComputedStyle — not a screenshot. Toggle dark mode above to watch it update.
“The site looked right. The system underneath didn’t exist — every section generated in isolation, every value a one-off.”
I built this portfolio fast with AI. That speed left a familiar debt: hardcoded hex, ad‑hoc type sizes, and no bridge between Figma and code. The question wasn’t “can AI make another screen?” — it was whether I could structure tokens so an agent could maintain the system: find redundancy, spot dead values, and prove code and Figma still match.
Three agent workflows produced a documented paper trail: input → finding → outcome. The headline metrics below are from those runs, not placeholders.
Most AI-assisted design-system work scaffolds components once and freezes. I wanted the opposite: a variables architecture that is machine-readable, a Figma file that mirrors code, and audits an agent can run without babysitting every line.
Layer 1 is context-free: neutral ramps, brand, spacing, type. Layer 2 is role-based — --color-bg, --color-text — what components actually consume. Dark mode swaps the semantic block; components never hardcode a theme.
Raw values named by scale — never used directly in components. Example: --neutral-light-900, --space-4, --duration-base.
Intent aliases that theme. Example: --color-text → light --neutral-light-900, dark --neutral-dark-50.
This panel fetches this site's actual assets/tokens.css at page load and parses it into the same Primitives / Semantic split Figma uses. Click a row to copy its var(); expand a semantic color to compare Light vs Dark.
Built by fetching and parsing this page's real stylesheet at load — counts and values can't drift from the source because they are the source.
Every fluid heading used to carry its own hand-picked vw coefficient — ten independent guesses at how fast type should scale between viewports. The token system replaces all of them with one formula: linear interpolation between a 400px and 1440px viewport, endpoints preserved exactly from the original CSS. This is the real before/after, not a mockup.
Only one real merge happened — about-lead and case-feature-head h3 already shared the same min and vw coefficient in the original CSS, so folding them into --font-fluid-lead was zero-risk. The testimonial and case-quote pair looked similar but had different enough parameters that merging would have visibly resized both — so they stayed separate. That distinction was the actual design decision; collapsing the formula itself was mechanical.
Toggle the theme control in the header. Every swatch and surface on this page follows semantic tokens. That same alias chain is what the agent walks when it audits “is this primitive still needed?” — including dark overrides that a naïve grep would miss.
Count only light-mode definitions and every --neutral-dark-* looks dead.
Include html[data-theme="dark"] aliases — those primitives are alive via the semantic layer.
0 transitively-dead tokens after the full alias graph. The rigor is in the chain, not the headline count.
Inspired by the idea of agentic design systems — not “prompt a screen,” but “give the machine a vocabulary worth maintaining.” Each workflow was analysis-only: no live-site edits until reviewed. Branch: audit-agent-workflows.
5tokens droppable if merges accepted (119 → 114)
3directly-dead · 0 transitively-dead
118/118tokens in sync · zero gaps
After fair comparison rules, the system holds together completely. The one code-only token found (--color-placeholder-accent) wasn’t left as a footnote — it was added to Figma as a Semantic variable, aliased to base/white, matching in both Light and Dark, the same day the audit found it.
100% paired and matching — the one gap found during the audit was closed the same day. Architectural exception: composite shadow as Figma Effect Style.
Mechanical work — resolving aliases, counting refs, normalizing px vs unitless Figma numbers — is where agents shine. Collapsing two near-black text colors, or deciding whether a 19px type step is “the same thing wearing a different name,” is still a design decision. The audit’s job is to surface candidates with a paper trail, not to auto-merge without review.
System health is 118/118 in sync, 3 dead candidates, 5 consolidatable — not “feels tidy.”
The audit found two near-identical greens in production — #33b25a (status dot) and #43bd68 (a compare-tag). Mechanically, either could win. #33b25a was kept because it was already the site-wide value; the single-use color moved instead. Usage counts are cheap for an agent to produce — deciding which one is “canonical” isn’t.
The audit’s first pass suggested merging two near-identical fluid quote formulas. Reversed: their real parameters (24px vs 22px min, different vw coefficients) meant merging would visibly resize both. Pattern-matching found the similarity; a human found the difference that mattered.
One gap actually closed while building this page: the drift audit flagged --color-placeholder-accent as code-only, with no Figma counterpart. It was added to Figma the same day — a Semantic variable aliased to base/white, matching in both Light and Dark. That’s the loop actually closing, not just getting described.
Every value in the panel above is bound as a real Figma Variable in the source file — primitives, semantic aliases, Light and Dark modes. Nothing here is a swatch pasted into a frame.
The design system is no longer only documentation for developers. It’s instructions for a machine — and the designer’s job is to make those instructions worth following.
Usually respond within 24h · Open to remote, B2B & SaaS projects.