Case Study
Establishing a design system
A 0-1 design system and component library for Compass Digital's healthcare design team to support product development efficiency.
Designing a shared product language that aligned design and engineering
Compass Digital‘s product organization was growing quickly. Multiple designers, product managers, and engineering teams were shipping features across several products that all shared a common codebase. While each designer owned a different product, engineering viewed the ecosystem as a single platform.

Without a shared design language, similar problems were being solved differently across products. Components evolved independently, interaction patterns diverged, and engineering increasingly found themselves rebuilding the same functionality to accommodate inconsistent design decisions.
I was brought in to establish a design system. I built a shared product language that aligned design, product, and engineering around a common way of designing and building software.
Solving organizational misalignment rather than inconsistent interfaces
Although “design system” was the term everyone used, it quickly became apparent that inconsistent components were only a symptom of a much larger organizational problem.
Each discipline experienced the consequences differently.
Engineering struggled to maintain a shared component library while implementing increasingly inconsistent interface patterns. Designers were frustrated that their work was frequently challenged during implementation. Product teams experienced slower delivery as design and engineering negotiated inconsistencies feature by feature.

Rather than approaching the project as a component library initiative, I reframed it as an alignment problem. Before standardizing interfaces, the organization first needed a shared understanding of how interface decisions should be made.
Establishing a shared understanding before defining standards
One of my first initiatives was facilitating a cross-functional workshop to establish a common understanding of what a design system actually is and what it isn’t.
The objective was to establish a shared conceptual model that product, design, and engineering could use when discussing consistency, reuse, and product quality.

Interestingly, this exercise also surfaced valuable allies. Several senior engineers already approached software development systematically and immediately recognized the broader organizational value of establishing shared standards. That early alignment became instrumental throughout the remainder of the project.
Auditing existing decisions before creating new ones
Rather than beginning with components, I started by understanding the current state of the product ecosystem. I audited every product to identify the interface elements, interaction patterns, and visual decisions already in use. Rather than asking “What components should exist?”, I asked:
Which decisions have already proven themselves across multiple products, and therefore deserve to become standards?
This distinction fundamentally changed the direction of the project. The design system was identifying, refining, and formalizing the best decisions that already existed throughout the product suite.
At the same time, I worked closely with engineering to understand the technical landscape supporting those products. We reviewed the existing component architecture, implementation strategy, and development workflows to determine whether external libraries or technical constraints would influence the design language.
Discovering that engineering maintained their own internal component implementation rather than relying on a third-party design system provided significant flexibility. Instead of adapting another system’s opinions, we could optimize the design language specifically for Compass Digital’s products and engineering practices.
Standardizing decisions before standardizing interfaces
After understanding both the design landscape and the engineering architecture, I began formalizing the system itself. I first established the foundational decisions that every component would inherit.
These included:
- Typography
- Color
- Spacing
- Elevation
- Iconography
- Grid and layout principles






Together, these primitives became the foundation of the visual language. Every decision was continuously reviewed with designers and engineers to ensure the emerging system reflected both user experience principles and implementation realities rather than personal preference.
Building agreement around these foundations made later component decisions significantly easier because they inherited an already accepted visual language.
Building components engineers wanted to adopt
Once the design language had been established, I began defining the reusable interface components that would become the shared source of truth for every product.
Each component represented an agreement between design and engineering rather than a purely visual artifact.





Patterns were reviewed collaboratively, refined based on implementation feedback, and evaluated against existing product needs before becoming part of the system. The objective of which was to enable engineers to confidently reuse implementation while allowing designers to solve new problems without continuously reinventing existing interaction patterns.
Designing governance alongside the system
A successful design system is defined as much by how it evolves as by the components it contains. Rather than treating the library as a static deliverable, I established a collaborative governance model that allowed the system to evolve safely over time.
Using Figma branching, proposed additions and modifications were developed independently before entering a structured review process with engineering.
Together we established a simple principle:
Designers should never design with components that engineering couldn’t implement, and engineering should never implement components that hadn’t been reviewed by design.

Once a component had been validated for both usability and technical feasibility, engineering implemented it within the shared component library. Only after implementation was complete was the corresponding Figma branch merged into the production design library and published for the wider design team.
This ensured that design and code remained synchronized while preventing the system from diverging over time.
Transforming a library into organizational infrastructure
I wasn’t really hired to build a design system
Over time, I learned the organization’s greatest challenge was the absence of a shared decision-making framework. Components were simply the visible outcome.
The real product was a shared language that allowed design, engineering, and product to reason about interfaces consistently.
That experience fundamentally changed how I think about design systems. They are not collections of reusable components. They are organizational tools that reduce ambiguity, enable collaboration, and allow product teams to move faster while delivering more coherent user experiences.
The design system became the shared source of truth adopted across more than ten (10) designers while providing engineering with predictable, reusable implementation patterns.
The component library introduced a repeatable process for making product decisions collaboratively Instead of debating interface details feature by feature, teams now began from a common foundation.
- Consistency improved naturally.
- Engineering rework decreased.
- Designers spent less time recreating existing solutions.
Product teams delivered features more efficiently because interface decisions increasingly became matters of extension rather than invention. 👍
The design system is published as a live Storybook documentation site. Where designers and engineers could explore components, review implementation details, test behaviors, and reference the latest patterns from a single shared source of truth.