A leading air defence organisation’s digital arm was scaling its internal product ecosystem rapidly—across multiple teams, vendors, and platforms. As delivery velocity increased, design consistency and operational efficiency were at risk.
I was brought in during the early phase of this transformation, where foundational design decisions would significantly shape long-term maintainability, team onboarding, and product coherence.
At a systems level, the goal was not merely to produce a UI kit, but to establish a shared design language that could scale across teams, vendors, and future use cases.
The initiative aimed to:
Create a single source of truth for design decisions
Enable cross-team consistency without slowing delivery
Reduce cognitive load for designers and developers
Ensure the system could scale with operational complexity, not constrain it
While the original intent was to build a full design system, organisational realities meant the initiative evolved pragmatically into a design library—a deliberate stepping stone rather than a compromise.
When I joined the project, several structural challenges were already evident:
Internal teams were building with MUI, but relied heavily on its default theme, resulting in a generic visual identity.
External vendors introduced their own design systems (e.g. Carbon, Ant Design), fragmenting the user experience.
Design decisions were often re-made per project, increasing inconsistency and rework.
There was no shared governance model to guide how design choices should scale across products.
Left unchecked, this would have resulted in:
Increased maintenance cost
Slower onboarding for new designers and developers
Inconsistent experiences for servicemen using multiple applications
As one of the two UX designers onboarded at the time, I took ownership of design system direction alongside my product responsibilities.
From a leadership standpoint, my role focused on:
Setting the strategic direction for a scalable design foundation
Making deliberate trade-offs between ideal frameworks and organisational readiness
Aligning designers, developers, and stakeholders around shared principles
Documenting decisions so the system could outlive individual contributors
Rather than positioning the design system as a “design deliverable,” I framed it as infrastructure—something teams build on, not around.
A critical early decision was determining how ambitious the system should be, given the organisation’s maturity and delivery pressures.
Framework Decision: Why MUI?
While vendors were using different frameworks, internal development teams were already deeply familiar with MUI.
I facilitated discussions and gathered developer input to assess:
Learning curve
Customisability
Long-term maintainability
Onboarding impact for future team members
Strategic Call
We committed to MUI—not because it was the most “ideal” system, but because it maximised adoption velocity while minimising organisational friction.
This decision ensured:
Faster alignment across teams
Lower risk during active product delivery
A clearer upgrade path toward a more formalised design system later
Rather than starting with components, I established foundational constraints—the rules that prevent fragmentation over time.
Typography
Selected Lato, aligning with its usage across local government digital properties
Reinforced visual continuity with the organisation’s broader governmental identity
Balanced readability, neutrality, and scalability across platforms
Colour Strategy
Rather than expanding the palette prematurely, we:
Anchored the system to existing brand colours to ensure buy-in
Defined primary and secondary usage rules to enforce hierarchy
Introduced a structured semantic colour model (error, warning, success, info, background, text)
This ensured colours were used systemically, not decoratively.
Components
Once foundations were locked, I translated them into reusable components:
Buttons
Checkboxes
Text fields
Common interaction states
Each component was designed not just visually, but with usage intent in mind.
Modules: Scaling Beyond Components
To accelerate future delivery, I intentionally moved beyond atomic components to define reusable modules, such as:
Standard form layouts
Selectable card patterns
Tables with filters and empty states
This reduced decision-making overhead for:
New designers onboarding
Developers assembling screens under time pressure
Vendors aligning to internal standards
At this stage, the system had effectively evolved into a design library—practical, composable, and immediately usable.
Adopted by four independent teams
Reduced design divergence across applications
Improved development efficiency through reusable patterns
Established a shared visual and interaction language across internal and external contributors
More importantly, the initiative shifted mindset:
Design consistency became a collective responsibility, not a stylistic preference.
With adoption underway, the next phase focuses on formalising governance and documentation:
Introducing Storybook to bridge design and code
Expanding behavioural guidelines to support consistent interaction patterns
Gradually evolving the library into a full design system as organisational maturity increases
This phased approach ensures the system grows with the organisation, rather than ahead of it.
This initiative was less about pixels and more about systems leadership:
Designing constraints that enable autonomy
Making pragmatic decisions that maximise adoption
Treating design as organisational infrastructure
In complex, multi-team environments, the success of a design system is not measured by completeness—but by whether teams choose to use it.