How I led design-system ownership at Momentive Software (formerly Community Brands) — from token foundation and accessible components to the cross-team adoption that cut design-to-development handoff by 40%.
Attribution. All screenshots and tokens shown on this page are from the design system I led at Momentive Software (formerly Community Brands). Shown with credit to the GiveSmart Fundraise team. Product-specific context has been cropped; the underlying patterns and decisions are the work of the design organization I led.
When a product spans six teams, the cost of a missing design system isn't a style debate — it's a tax on every release. Buttons drifted. Form states disagreed. Accessibility was inconsistent. Each handoff started with a re-litigation of decisions that had already been made elsewhere in the platform.
That compounding interest of design debt was slowing both engineering and design — and at the customer-facing surface, it was eroding the calm, trustworthy feel a fundraising platform needs. The right intervention wasn't another component library; it was a system the teams would adopt without being mandated to.
As Principal UX Lead I owned the system end-to-end: defining the token foundation, designing the component layer, writing the governance model, and — the part most systems fail on — leading the cross-team adoption alongside engineering leads and product managers in each of the six teams. Adoption was the deliverable, not the components.
Before any component existed, the colour, spacing, elevation, and radius decisions were defined as CSS variables with semantic names — so the system could be discussed in the same vocabulary in Figma, in Storybook, and in production code.

Every token is a contract. Brand palette, semantic colours (success / danger / warning / info), and a neutral scale — each surfaced with the CSS variable name and production usage frequency, so designers and engineers always reached for the same value.
Each component shipped with its full matrix of variants and states. Focus rings, disabled states, and semantic colour were defined alongside the default — not added after the design review.

One button, fully specified. Primary / Secondary / Success / Danger / Action / Link variants, three sizes, the full state matrix including :hover, :focus, and :disabled, plus an icon-button utility for nav and toolbar surfaces.

Accessible form input by default. Every input ships with default, focus, error, and disabled states, paired with helper and error text patterns — the same set used across every form in the platform.

One status vocabulary. Inline alerts and badges share the semantic colour system, so success, warning, danger, and info read the same way on every surface across the platform.
A design system is only as real as its adoption. The hardest — and most rewarding — part of the work was the cross-functional leadership that turned six independent teams into one design language.
Pair-designed and pair-coded the first feature each team built on the system. The system landed because designers and engineers had a partner, not a mandate.
Figma libraries, Storybook documentation, and production code stayed in sync — so a question about a component had one answer, not three.
Critique was open across teams and disciplines. New patterns proposed once were reviewed, refined, and either promoted into the system or deferred — with a documented rationale.
Patterns weren't removed — they were deprecated on a published schedule with a side-by-side migration path, so adoption never broke a team's roadmap.
Focus management, contrast ratios, and keyboard support were specified at the component level and verified by automated a11y testing in CI/CD — accessibility became free for every team that adopted the system.
Any designer or engineer could propose a new pattern or improvement. A lightweight review kept quality high; a published process kept ownership shared.
A design system pays back not in the artefacts it produces, but in the speed and consistency it enables across the org.
Owning a system at this scale is a long arc; here's what I'd change next time.
Co-own with an engineering lead from week one. Governance is dramatically easier when ownership is shared with engineering from the foundation, not retrofitted at adoption time. Joint authorship of the token spec is the cheapest way to earn that.
Invest in office hours and async support before the first deprecation. Adoption hinges on confidence as much as documentation. A standing forum where teams can ask "is this the right pattern?" prevents drift more than any contribution guide.
Track adoption metrics from day one. Usage data — components imported, tokens hit, custom CSS shrinking — is the strongest argument for continued investment in the system. It also makes prioritisation honest.
Open to UX Manager, Principal, and Design Leadership roles — remote-first, open to relocation, overlap hours for US & UK teams.