THIOS: ONE SOURCE OF TRUTH, SIX SURFACES

6 surfaces kept aligned by agents · 212 design tokens · 6 sub-brands · 4 production sites · 1 designer

Role Founder · Product Design & Engineering
Scope Design Systems · Agent Infrastructure · Token Architecture · CAD · Web
Timeline 2024 – Present
What I Did Solo designer — agents as the engineering team.

6

Surfaces in sync

212

Design tokens

4

Production sites

1st

Revenue — configurator to paid order

1

Designer

Built and shipped a product line solo — six surfaces, one source of truth, agents as the team.

MCP audit ·next surface token-drift audit cssSyncRequired design-system-loop.html parametric agent FIGMA visual source live · in sync TOKENS.JSON 212 tokens W3C · DTCG MAIN.CSS 18,000+ lines ~4 live sites DESIGN-SYS.HTML live demo 100 KB ONSHAPE 54 elements Variable Studio DESIGN.md CANONICAL RULES ~65 tokens · agent-readable FIGMA live · in sync TOKENS .JSON 212 · W3C MAIN.CSS 18k+ · 4 sites DESIGN.md CANONICAL RULES spine · agents read every task DESIGN-SYS .HTML live demo ONSHAPE 54 elements ↻ loops back · MCP audit on next surface
DESIGN.md is the spine. Five surfaces orbit it — six in sync. Agents enforce the spokes.

What Thios Is

Open-source modular structures — saunas, greenhouses, offices — from geodesic geometry. Six sub-brands. Four production subdomains. One Figma file. One Onshape document. One designer.

By 2026 the bottleneck in design isn't drawing — it's keeping intent, spec, code, and tokens consistent across that surface count. What if the designer's deliverable was the rules, and agents were the IC enforcing them? The case study below is the answer.

The system isn't the product — the spheres are. First revenue came through the configurator this system keeps honest.

The Six-Surface Problem

Most design systems rot quietly: a hex drifts, a Figma variable disagrees with a CSS custom property, a component ships without an entry in the docs. By the time anyone notices, dozens of components reference the wrong value. Thios's design decisions live in six places, all readable by agents, all mutually diffable, all referenced from one canonical rule layer:

SurfaceRoleToday
DESIGN.mdCanonical rules. Section 9 is an explicit "Agent Prompt Guide."~65 named rule tokens (semantic layer) · 6 sphere brands
tokens.jsonThe bridge. W3C Design Tokens format, three-layer (primitive → semantic → surface).212 tokens · designed for Tokens Studio import to Figma
main.cssRunning production code.synced across 4 subdomains via a deploy gate
design-system.htmlLive, self-contained demo of every component.all components with working examples
Onshape documentParametric CAD source. Sphere geometry driven by Variable Studio 1.54 elements · 26 part studios · 11 assemblies · 1 Variable Studio
FigmaVisual design surface. Plus UI re-themed to Thios; Variables mirror tokens.json.Brand / status / type + 6 sphere tokens audited in sync, June 2026

What I Got Wrong First: Figma as the Source

The first version did the obvious thing: Figma was the source of truth, and everything generated down from it — tokens, CSS, the docs. It drifted within weeks. A variable moved in Figma and the CSS didn't follow; a hex got hand-tweaked in code and Figma never heard about it. With no engineering team to police the gap, the "source of truth" quietly stopped being true.

So I inverted it. The source of truth became DESIGN.md — agent-readable text — and Figma became a surface that gets audited against it like every other. Rules a human authors; agents are the IC that enforces them. That single inversion is what makes one designer holding six surfaces actually work.

✗ First version FIGMA ↓ generates down to tokens · CSS · docs Source of truth = Figma. Drifted in weeks — no eng team to police the gap.
✓ Inverted DESIGN.md ↑ every surface audited against Figma · tokens · CSS · docs · Onshape Source of truth = agent-readable rules. Agents flag drift; the human decides.
The deliverable became the rules, not the pixels.

Two faster paths I ruled out along the way:

  • Wait for headcount — hire engineers to maintain the system. There's no eng team and, by design, there won't be: the agents are the IC.
  • Hand-sync the surfaces — "I'll just remember to update all six." That's the willpower problem that breaks at six surfaces across four sites — the Auxosphere bug below is what silent drift looks like.

How the Surfaces Stay Aligned

DESIGN.md is the spine — agent-native markdown; Section 9 is explicitly an "Agent Prompt Guide," the first thing any agent reads when generating UI. tokens.json is the bridge — W3C Design Tokens, three layers (primitive / semantic / surface) whose semantic layer is the ~65 named rule tokens authored in DESIGN.md, and now mirrored in a live Figma Variables surface (Plus UI re-themed to Thios — primary, gold, status, type, and all six sphere brand tokens audited in sync against tokens.json, June 2026). main.css is the running code (kept in sync across four subdomains by a deploy gate). design-system.html is the live spec (every component with working examples). Onshape is the parametric source for sphere geometry — 54 elements driven by one Variable Studio, the same shape as tokens.json flowing into Figma, but for physical product.

Each surface gets diffed against the spine on demand. Agents catch drift; the human decides what to fix — the drift-detection logic is published as an open-source Claude Skill, audit-design-token-drift. The complete loop is documented at thios.co/design-system-loop.html.

Sphere Branding — Proof the System Scales

Six sub-brands currently share the system: Thiosphere (brown #96643F), Saunosphere (red #E25141), Agrosphere (teal — same as primary, intentionally), Ergosphere (blue #1D63BE), Immosphere (purple #4D04AC), Auxosphere (gray). Each is a first-class token, mirrored one-for-one in Figma Variables — six sphere brand accents, all audited in sync with tokens.json.

The kind of bug a single-surface workflow ships silently: Auxosphere read #909090 in DESIGN.md while resolving to #6c757d in tokens.json — caught by the audit, now aligned. Six sub-brands plus four production sites is exactly where manual drift detection breaks.

Results

  • Six surfaces in sync today — all readable by agents, all mutually diffable, all referenced from a single canonical rule layer.
  • 4 production subdomains kept in CSS-sync via a make check-css-sync deploy gate — no silent rot between thios.co, blog, store, and partners.
  • 6 sub-brands generated from one component template via Figma mode variants — one design, six brand surfaces.
  • 212 design tokens, three layers (primitive / semantic / surface) — the same shape as tokens.json flowing into Figma also flows into Onshape's Variable Studio for physical product.

Next Surfaces (Roadmap)

Two surfaces are designed but not yet running. Each will be wired into the diff layer before it goes live so drift detection scales with the system. (Figma graduated off this list in June 2026 — it's now a live, audited surface.)

  • Scheduled drift checks — the diff runs on demand today. Wiring it to a weekly schedule turns drift detection from a willpower problem into infrastructure. Month-over-month delta becomes the trend line.
  • CAD hygiene agent — feature naming conventions, mate health, build-correctness checks on the Onshape document. Same diff-then-fix shape, applied to physical geometry. The 54-element inventory is the baseline.

The interesting career question for senior designers in 2026 isn't "can you use AI?" — it's "have you written infrastructure agents follow?" The work isn't using AI. The work is writing the rules AI follows.

LET'S TALK

Working on something like this — or hiring for it?