Copy from the playground
Content editors build a section in a live playground and paste the working markup into their CMS.
Case study · University of Maryland
UMD's web had grown unit by unit for decades. We gave it a shared foundation that every team could adopt on its own terms, and the teams chose to.
Every unit built for itself, on WordPress, Drupal, React, Angular, legacy Java or static HTML. Nothing was shared, so the same accessibility failures turned up site after site, and the university's look slowly came apart.
Twelve reds standing in for the twelve hex codes the audit found for one brand color. Shades are illustrative.
A tokens package holds every brand decision: color, spacing, type. It ships as CSS custom properties, JavaScript, JSON and TypeScript types. When the brand team adjusts a color, they edit one value and every component, site and story follows. The same tokens now reach kiosks, event signage and email templates.
/* simplified example: the brand lives in one place */ --color-red: #E21833; --space-base: 8px; --font-sans: "Source Sans", sans-serif;
We split the system into nine single-purpose packages in three layers: foundation, core and components. A team can take only the tokens to fix its colors this week, then add components when it's ready. Nobody has to replatform to join.
On a decentralized campus, mandates create resistance. So the system had to be the fastest way to ship. Teams that held out at first joined once they watched colleagues launch faster, and the central team's job moved from building every site to curating the system.
Campus teams can't build on on a library that breaks without warning. Every change passes a gate of tests and budgets before it merges, and semantic versioning lets units take updates safely. One accessibility fix reaches every site that uses the component.
The same accessible, on-brand output, whether the person adopting it writes code or not.
Content editors build a section in a live playground and paste the working markup into their CMS.
Legacy sites with no build step add two tags and get the full component set.
Developers install from npm with tree-shaking, in React, Vue, Angular, PHP, Salesforce or Java.
Good intentions don't survive a deadline. A failing check does, so we wrote the standards into the pipeline.





Departments that never talked to each other now share a vocabulary.