Case Study

Design Systems · built solo · live

Five brands. One design system.

I built Marrow from scratch. One design system for five EverHealth brands, replacing five broken Flowbite libraries with a single, token-driven source of truth. Inconsistency was shipping to production. Audit to rollout in two weeks.

Figma Variables · Zeroheight · Claude Code

5 → 1Brand libraries consolidated into one Figma file
2 weeksAudit, build, rollout, and team onboarding
5 brandsOne token system, mode-switch per brand
Marrow design system overview
RoleSenior Designer
Timeline2 weeks · Audit, build, rollout
Year2026
StatusInternal System

Built with

Figma · variables + modesClaude Code · token scaffoldingZeroheight · documentation

One token-driven Figma library with variable modes per brand. Designers switch brands by changing a mode, not opening a different file. Components, typography, and color all pull from the same source of truth.

Five EverHealth brands, five separate Flowbite libraries, and no shared foundation between them. Inside our Figma org it had become a nesting doll of folders and duplicated projects, and finding the right file or the right board meant digging through layers of near-identical work every time. The libraries themselves were broken: wrong hex values, wrong fonts, no shared tokens. That inconsistency wasn't staying in Figma, it was shipping to production, and every new hire had to learn five different systems before they could contribute. The team didn't need another cleanup. They needed one system that could flex across all five brands without rebuilding from scratch every time.

EverHealth design libraries before Marrow consolidation
Before — Five Fragmented Libraries
Marrow unified design system across brands
After — One Token-Driven System
  • Five separate Figma libraries with nothing shared between them. Every new board meant rebuilding from scratch.
  • Hundreds of unused Flowbite components per library. Designers could not find the assets they actually needed.
  • Brand assets full of errors: wrong hex values on color tokens, wrong fonts in styles, logos incorrectly built into components.
  • No documentation and no onboarding path. Brand inconsistency was shipping to production and nobody caught it.

Built from scratch, not patched. I audited every brand library, mapped the overlap, and designed a token architecture with modes for each brand. Components were rebuilt to bind to variables, not hardcoded values.

Token Architecture

Design token hierarchy
Brand primitives feed semantic tokens feed component tokens. Change one value and it cascades across every brand.

Switch brands by changing a mode, not opening a different file. All five EverHealth identities run from one source.

Brand Guidelines

Style guidelines across EverHealth brands
One structure, five brand identities. Typography, color, and logo usage verified against brand standards.

I started with leadership. Showed them the scope of the problem next to the solution and got buy-in before asking the team to change habits. Then a hands-on session with designers, SOPs for future onboarding, and a clear boundary with product engineering: product keeps their component system, but brand tokens flow from Marrow.

Documentation & Rollout

Marrow Zeroheight documentation on laptop
Zeroheight connected to Figma. Governance SOPs, onboarding guides, and a rollout plan the team could run without me in the loop.
The best design system is the one the team actually reaches for. It has to be easier than the alternative, not just more correct.
AI brand usage policy in Marrow documentation
Color naming convention guide for designers
Designer onboarding guide in Zeroheight

I built from scratch instead of fixing the existing Flowbite setup. Adapting it would have meant inheriting hundreds of unused components, mislabeled tokens, and errors that were already causing confusion. Starting clean took discipline, but it meant everything in the system was correct and intentional from day one.

Every layer. No handoffs. Just me.

  • Audited brand inconsistencies across every product surface before touching a single component.
  • Built the token architecture: color, typography, and spacing with variable modes for five brands.
  • Created a component library with shared primitives and accessibility baked in from the start.
  • Wrote brand style guides, stood up Zeroheight, and connected it as the live documentation site.
  • Planned and ran the rollout: leadership walkthrough, team onboarding, governance SOPs, and the product-engineering handoff.

Early on I tried to preserve too much of the old Flowbite structure. It slowed adoption because designers still had to mentally map old patterns to new ones. Starting cleaner, even if it meant more upfront work, was the right call.

Naming the system mattered more than I expected. "Marrow" gave the project weight. It told the org this was not a Figma cleanup. It was infrastructure. Governance needs design too: naming conventions, export checklists, and the Zeroheight connection are what keep the system clean over time.

The system is live and adopted team-wide. Next steps are expanding component coverage for edge-case product patterns and tightening the handoff between Figma variables and code tokens.