
From Figma to Production
University of Maryland · 50+ Web Components on one token system, bridged to Figma
Case Study

The University of Maryland Design System
A university with 1,680+ web applications, 12 colleges, and zero shared infrastructure. Every team picks their own stack: WordPress, React, Angular, legacy Java, static HTML. Whatever solves their problem.
Building a design system for this environment means building for all of it. No 'just switch frameworks' conversations. No forcing choices. Components that work everywhere or nowhere at all.
Launched in the summer of 2024. Over 100 sites adopted in the first year — without a mandate.

We ran accessibility audits across hundreds of sites. The patterns were clear: the same failures everywhere. Keyboard navigation broken on carousels. Focus states missing on buttons. Color contrast failing on the same brand red. Each team had independently made the same mistakes.
The technical inventory showed something else:
The insight: these weren't individual failures. They were systemic. Teams weren't bad at accessibility; they just didn't have the time or expertise to get it right. Solve the problem once, upstream, and every site benefits.
SOLID principles are usually taught in the context of object-oriented programming. But they're really about managing complexity at scale. I applied them at the package level:
These aren't academic concerns. They're what makes the difference between a system that becomes unmaintainable after two years and one that keeps getting better.

































Think of the system as a stack. Each layer builds on the one below, but you can stop at any level:
A marketing team might use just the playground to configure components. A development team might import tokens and build their own React components on top. Both are valid. Both get the accessibility and brand consistency baked in.

The hardest part of design systems isn't building components. It's getting people to use them. We removed every excuse by offering multiple paths:
The key insight: all three paths produce identical output. The marketing coordinator using the playground and the engineer importing via NPM get the exact same accessible, tested, performant component. The quality is in the system, not the consumption method.

Numbers matter, but they're not the whole story. Here's what we can prove:
The less quantifiable change: departments that never talked now share a vocabulary. When everyone uses the same components, conversations shift from 'how do we build this' to 'what should it do.'