Clario dashboard showing balance, daily spending limit, savings plans, and real-time expense tracking in a modern interface.
Clario dashboard showing balance, daily spending limit, savings plans, and real-time expense tracking in a modern interface.
Clario dashboard showing balance, daily spending limit, savings plans, and real-time expense tracking in a modern interface.

Design System

Design System

Enabling 100+ designers & developers to ship cohesive experiences faster

As we launched new products, our design system needed to evolve. I led the rebuild of Dira, improving its component library and enhancing foundational elements to create a more cohesive and scalable system.

Dira is designed to drive consistency, efficiency, and seamless collaboration between design and development.

By organizing and maintaining the system, I ensured a unified design language that strengthened brand identity, enhanced user engagement, and elevated the overall product experience.

Key Results
Icon

Improved Consistency: Achieved 90% component usage across products, reducing inconsistencies and design deviations.

Icon

Improved Consistency: Achieved 90% component usage across products, reducing inconsistencies and design deviations.

Icon

Faster Delivery: Cut average design-to-development handoff time by 35% through standardized components and clear documentation.

Icon

Faster Delivery: Cut average design-to-development handoff time by 35% through standardized components and clear documentation.

Icon

Increased Adoption: 100% of design and engineering teams actively using the Dira library within two months of launch.

Icon

Increased Adoption: 100% of design and engineering teams actively using the Dira library within two months of launch.

Responsibility
  • I owned the entire design system creation from foundation to implementation.

  • I handled stakeholder management, led multiple design iterations based on feedback, and collaborated closely with the development team to ensure seamless handoffs.

Timeline
  • 3 month for the MVP

  • Progresive Improvements

👇 A glimpse of Dira

The highlight video shows a full walkthrough of Dira presented to the tech team with Chris. The session demonstrated how teams use Dira for design implementation, handoff, and translation of documented components into the code base.

How we got there

How we got there

The Problem

Shipping solutions was inefficient. Misalignments between the design and dev teams were common and the user experience lacked end-to-end cohesion. I enabled 100+ colleagues to ship at scale, while reducing repetitive design effort by 2-3x.

Before Dira, there was no internal design system. Each team designed in isolation, leading to:

Gaps we couldn't Ignore
Shape
Icon

Inconsistent UI patterns across products

Icon

Repeated design work and wasted effort

Icon

Painful handoffs between design and development

Icon

Longer release cycles due to rework and QA issues

" This fragmentation slowed us down and diluted the brand experience."

Shape
Icon

Inconsistent UI patterns across products

Icon

Repeated design work and wasted effort

Icon

Painful handoffs between design and development

Icon

Longer release cycles due to rework and QA issues

" This fragmentation slowed us down and diluted the brand experience."

The Solution

Dira is an internal design system created to bring consistency, efficiency, and scalability. Before Dira, design teams were creating screens in isolation — resulting in mismatched components, duplicated effort, and a lack of visual cohesion.

Dira supports a wide range of B2C and B2B products across web and mobile, so every decision must account for the scale and complexity of this ecosystem.

Below is a breakdown of how our Design System is structured, detailing its different layers and their purpose.
two chairs near the window
two chairs near the window
The Design Process

They say your design process is important, but they don’t tell you that every problem and situation will demand something new and different. So, no it was not double diamond, lean or agile, we were the process.

Discover

Discover

The problem was defined using evidence of inconsistent designs across teams. Existing products were reviewed and screenshots were gathered and interaction patterns were audited.

Develop

Develop

Component requirements were created from the audit findings. Early component drafts built in Figma with clear usage rules. Tested by designers and engineers in short review cycles.

Component requirements were created from the audit findings. Early component drafts built in Figma with clear usage rules. Tested by designers and engineers in short review cycles.

Deliver

Deliver

The Dira library is published with tokens, components, and guidelines. Designers and engineers are trained through short handover sessions.

The Dira library is published with tokens, components, and guidelines. Designers and engineers are trained through short handover sessions.

Who needs Help?

The Personas

Designer

Pain points

- Inconsistent components and interaction patterns across products. - Unclear naming and documentation causing delays

Needs

- A unified, easy-to-use component library. - Clear guidelines and usage rules

Goals

- Maintain design consistency - Improve team efficiency - Deliver high-quality products

Frontend Engineer

Pain points

- Designers use components differently. - Missing or incomplete documentation delays development

Needs

- Standardized components with code-ready specs. - Clear design tokens and interaction rules

Goals

- Receive predictable, consistent designs. - Reduce time spent clarifying UI details

Designer

Pain points

- Inconsistent components and interaction patterns across products. - Unclear naming and documentation causing delays

Needs

- A unified, easy-to-use component library. - Clear guidelines and usage rules

Frontend Engineer

Pain points

- Designers use components differently. - Missing or incomplete documentation delays development

Needs

- Standardized components with code-ready specs. - Clear design tokens and interaction rules

Goals

1.

Visual consistency

Standardize components, styles, and interactions to ensure a cohesive and polished user experience.

Visual consistency

Standardize components, styles, and interactions to ensure a cohesive and polished user experience.

2.

Improve design and development efficiency

Streamline workflows, reduce redundancies, and enhance collaboration to speed up execution.

Improve design and development efficiency

Streamline workflows, reduce redundancies, and enhance collaboration to speed up execution.

3.

Create a flexible and scalable system

Build a system that adapts to evolving needs, supports new use cases, and grows with our products.

Create a flexible and scalable system

Build a system that adapts to evolving needs, supports new use cases, and grows with our products.

👇 Dira Pro in action — across the org, in minutes.
two chairs near the window
two chairs near the window
Principles.
Icon
Aesthetics

A polished UI enhances trust and reduces friction.

Icon
Aesthetics

A polished UI enhances trust and reduces friction.

Icon
Gestalt approach

We use Gestalt principles for intuitive, coherent components.

Icon
Gestalt approach

We use Gestalt principles for intuitive, coherent components.

Icon
Light cognitive load

Clear choices and structure enable effortless decisions.

Icon
Light cognitive load

Clear choices and structure enable effortless decisions.

Icon
Visual hierarchy

Contrast, size, and spacing improve focus and scanning.

Icon
Visual hierarchy

Contrast, size, and spacing improve focus and scanning.

Icon
Consistency

Predictable patterns accelerate learning for seamless UX.

Icon
Consistency

Predictable patterns accelerate learning for seamless UX.

Icon
Adaptability

Components evolve to support new cases with consistency.

Icon
Adaptability

Components evolve to support new cases with consistency.

Let's get to work

Let's get to work

The Foundation
Organization of the file

In our Foundations file, we follow industry best practices for structuring Design Systems, with dedicated pages for essential design elements.

Each page is organized with a clear layout: an introductory section on the left that provides context and guidelines, and a main content area on the right that showcases all design assets and specifications in detail.

This structure ensures clarity, ease of navigation, and efficient collaboration across teams.

Interface panel
Interface panel
General improvements
tokens

Improved the definition and structure of our design tokens, making them more scalable and adaptable to the diverse needs of all our products. This new system ensures consistency across our ecosystem while allowing flexibility to support future growth and evolving design requirements.

Interface panel
Interface panel
colors

Expanded and fine-tuned our color palette to enhance contrast and ensure accessibility, making our interfaces more inclusive and visually consistent.

Interface panel
Interface panel
typography

Introduced the Proxima Nova font, replacing the previous (Futura) in many screens to reduce visual load and improve readability. Additionally, we adjusted the line height of certain styles for better text balance and clarity.

Interface panel
Interface panel
icons

Added numerous new icons with 5 different styles and redesigned existing ones with a 2px stroke, ensuring visual harmony with the lighter Medium weight typography and creating a more cohesive, balanced interface.

Interface panel
Interface panel
spacing

A defined semantic spacing tokens for every type of spacing, achieving a solid and consistent rhythm across all areas of the app.

Interface panel
Interface panel
Components library
Organization of the file

Our Component Library file is thoughtfully organized, with each page containing multiple components that belong to the same group. Each page is divided into two sections: one showcasing the atoms and components, and the other to the right, providing detailed documentation for each component within the group.

Interface panel
Interface panel
Good practices

Variants are fundamental in components, but analyzing their characteristics is crucial. Understanding which features can coexist helps define what should be a variant and what should be a boolean.

Using booleans is crucial for optimizing the number of variants in our components, as it enhances usability while simplifying maintenance and scalability.

_atoms

Atomic Design ensures a scalable, modular structure by breaking components into smaller parts, promoting consistency, reusability, and faster design and development.

Interface panel
Interface panel

In the following example, you can see how the Metric-card component build with attoms and the flexibility of adjusting the various atoms.

Business Value

Business Value

Impact (First 3 Months)

Dira transformed design from a fragmented process into a scalable system, saving time, cutting costs, and boosting product consistency. It became not just a library, but a business efficiency engine powering growth.

Design-to-development handoff reduced by

60%

Design-to-development handoff reduced by

60%

UI mismatch-related design reviews reduced by

40%

UI mismatch-related design reviews reduced by

40%

[ROI] Cutting rework and reducing costs by

$250K annually.

[ROI] Cutting rework and reducing costs by

$250K annually.

Faster product launches — average release cycle shortened by

2 weeks

Faster product launches — average release cycle shortened by

2 weeks

Overall component reuse rate increased by

90%

Overall component reuse rate increased by

90%

92% of designers and 87% of developers reported faster workflows and smoother handoffs.

92% of designers and 87% of developers reported faster workflows and smoother handoffs.

Testing & Adoption

  • Piloted Dira with 2 product teams before scaling org-wide.

  • Gathered feedback via design critiques and dev syncs.

  • Iterated on components and guidelines based on real-world usage.

  • Rolled out monthly updates to evolve the system without disruption

Next Steps

Looking ahead, we also continued to think about ways to improve the design system with the following;

  • Design Rules & Detaching Guidelines: Document when to follow system rules strictly vs. when to detach for flexibility.

  • Onboarding Templates: Create ready-to-use starter kits for new designers and developers to accelerate adoption.

  • Governance Framework: Establish contribution workflows, approval processes, and regular audits to ensure quality and evolution.

  • Cross-team Evangelism: Run study jams, showcases, and office hours to maintain visibility and encourage contributions. Scalability: Expand the system to cover motion design, accessibility standards, and cross-platform consistency.

Lessons Learned

After the launch, I realized several key lessons. Reflecting on the process from planning to execution revealed insights about the importance of adaptability and open-mindedness.

  • A design system is not just components — without clear rules and governance, adoption becomes fragmented.

  • Designers and developers need shared ownership; when only one side drives it, usage drops.

  • Early wins (small but high-impact components) help build trust and momentum across teams.

  • Consistent communication and training are as important as the system itself.

The team behind

The team behind

Meet our team

Alex Karanja

Ux Lead

Alex Karanja

Ux Lead

Stephen Maina

Tech Lead Software Engineering

Stephen Maina

Tech Lead Software Engineering

Christopher Muiruri

Frontend Web Developer

Christopher Muiruri

Frontend Web Developer

Kelvin Mutiso

Product Designer

Kelvin Mutiso

Product Designer

Nicholas Ochodo

UI Designer

Nicholas Ochodo

UI Designer

Fredrick Juma

Product Designer

Fredrick Juma

Product Designer

Rose Maina

IOS Developer

Rose Maina

IOS Developer

Zakayo Ngige

Android Developer

Zakayo Ngige

Android Developer

Design System

Enabling 100+ designers & developers to ship cohesive experiences faster

As we launched new products, our design system needed to evolve. I led the rebuild of Dira, improving its component library and enhancing foundational elements to create a more cohesive and scalable system.

Dira is designed to drive consistency, efficiency, and seamless collaboration between design and development.

By organizing and maintaining the system, I ensured a unified design language that strengthened brand identity, enhanced user engagement, and elevated the overall product experience.

Key Results
Icon

Improved Consistency: Achieved 90% component usage across products, reducing inconsistencies and design deviations.

Icon

Faster Delivery: Cut average design-to-development handoff time by 35% through standardized components and clear documentation.

Icon

Increased Adoption: 100% of design and engineering teams actively using the Dira library within two months of launch.

Responsibility
  • I owned the entire design system creation from foundation to implementation.

  • I handled stakeholder management, led multiple design iterations based on feedback, and collaborated closely with the development team to ensure seamless handoffs.

Timeline
  • 3 month for the MVP

  • Progresive Improvements

👇 A glimpse of Dira

The highlight video shows a full walkthrough of Dira presented to the tech team with Chris. The session demonstrated how teams use Dira for design implementation, handoff, and translation of documented components into the code base.

How we got there

The Problem

Shipping solutions was inefficient. Misalignments between the design and dev teams were common and the user experience lacked end-to-end cohesion. I enabled 100+ colleagues to ship at scale, while reducing repetitive design effort by 2-3x.

Before Dira, there was no internal design system. Each team designed in isolation, leading to:

Gaps we couldn't Ignore
Shape
Icon

Inconsistent UI patterns across products

Icon

Repeated design work and wasted effort

Icon

Painful handoffs between design and development

Icon

Longer release cycles due to rework and QA issues

" This fragmentation slowed us down and diluted the brand experience."

The Solution

Dira is an internal design system created to bring consistency, efficiency, and scalability. Before Dira, design teams were creating screens in isolation — resulting in mismatched components, duplicated effort, and a lack of visual cohesion.

Dira supports a wide range of B2C and B2B products across web and mobile, so every decision must account for the scale and complexity of this ecosystem.

Below is a breakdown of how our Design System is structured, detailing its different layers and their purpose.
two chairs near the window
The Design Process

They say your design process is important, but they don’t tell you that every problem and situation will demand something new and different. So, no it was not double diamond, lean or agile, we were the process.

Discover

The problem was defined using evidence of inconsistent designs across teams. Existing products were reviewed and screenshots were gathered and interaction patterns were audited.

Develop

Component requirements were created from the audit findings. Early component drafts built in Figma with clear usage rules. Tested by designers and engineers in short review cycles.

Deliver

The Dira library is published with tokens, components, and guidelines. Designers and engineers are trained through short handover sessions.

Who needs Help?

The Personas

Designer

Pain points

- Inconsistent components and interaction patterns across products. - Unclear naming and documentation causing delays

Needs

- A unified, easy-to-use component library. - Clear guidelines and usage rules

Frontend Engineer

Pain points

- Designers use components differently. - Missing or incomplete documentation delays development

Needs

- Standardized components with code-ready specs. - Clear design tokens and interaction rules

Goals

1.

Visual consistency

Standardize components, styles, and interactions to ensure a cohesive and polished user experience.

2.

Improve design and development efficiency

Streamline workflows, reduce redundancies, and enhance collaboration to speed up execution.

3.

Create a flexible and scalable system

Build a system that adapts to evolving needs, supports new use cases, and grows with our products.

👇 Dira Pro in action — across the org, in minutes.
two chairs near the window
Principles.
Icon
Aesthetics

A polished UI enhances trust and reduces friction.

Icon
Gestalt approach

We use Gestalt principles for intuitive, coherent components.

Icon
Light cognitive load

Clear choices and structure enable effortless decisions.

Icon
Visual hierarchy

Contrast, size, and spacing improve focus and scanning.

Icon
Consistency

Predictable patterns accelerate learning for seamless UX.

Icon
Adaptability

Components evolve to support new cases with consistency.

Let's get to work

The Foundation
Organization of the file

In our Foundations file, we follow industry best practices for structuring Design Systems, with dedicated pages for essential design elements.

Each page is organized with a clear layout: an introductory section on the left that provides context and guidelines, and a main content area on the right that showcases all design assets and specifications in detail.

This structure ensures clarity, ease of navigation, and efficient collaboration across teams.

Interface panel
General improvements
tokens

Improved the definition and structure of our design tokens, making them more scalable and adaptable to the diverse needs of all our products. This new system ensures consistency across our ecosystem while allowing flexibility to support future growth and evolving design requirements.

Interface panel
colors

Expanded and fine-tuned our color palette to enhance contrast and ensure accessibility, making our interfaces more inclusive and visually consistent.

Interface panel
typography

Introduced the Proxima Nova font, replacing the previous (Futura) in many screens to reduce visual load and improve readability. Additionally, we adjusted the line height of certain styles for better text balance and clarity.

Interface panel
icons

Added numerous new icons with 5 different styles and redesigned existing ones with a 2px stroke, ensuring visual harmony with the lighter Medium weight typography and creating a more cohesive, balanced interface.

Interface panel
spacing

A defined semantic spacing tokens for every type of spacing, achieving a solid and consistent rhythm across all areas of the app.

Interface panel
Components library
Organization of the file

Our Component Library file is thoughtfully organized, with each page containing multiple components that belong to the same group. Each page is divided into two sections: one showcasing the atoms and components, and the other to the right, providing detailed documentation for each component within the group.

Interface panel
Good practices

Variants are fundamental in components, but analyzing their characteristics is crucial. Understanding which features can coexist helps define what should be a variant and what should be a boolean.

Using booleans is crucial for optimizing the number of variants in our components, as it enhances usability while simplifying maintenance and scalability.

_atoms

Atomic Design ensures a scalable, modular structure by breaking components into smaller parts, promoting consistency, reusability, and faster design and development.

Interface panel

In the following example, you can see how the Metric-card component build with attoms and the flexibility of adjusting the various atoms.

Business Value

Impact (First 3 Months)

Dira transformed design from a fragmented process into a scalable system, saving time, cutting costs, and boosting product consistency. It became not just a library, but a business efficiency engine powering growth.

Design-to-development handoff reduced by

60%

UI mismatch-related design reviews reduced by

40%

[ROI] Cutting rework and reducing costs by

$250K annually.

Faster product launches — average release cycle shortened by

2 weeks

Overall component reuse rate increased by

90%

92% of designers and 87% of developers reported faster workflows and smoother handoffs.

Testing & Adoption

  • Piloted Dira with 2 product teams before scaling org-wide.

  • Gathered feedback via design critiques and dev syncs.

  • Iterated on components and guidelines based on real-world usage.

  • Rolled out monthly updates to evolve the system without disruption

Next Steps

Looking ahead, we also continued to think about ways to improve the design system with the following;

  • Design Rules & Detaching Guidelines: Document when to follow system rules strictly vs. when to detach for flexibility.

  • Onboarding Templates: Create ready-to-use starter kits for new designers and developers to accelerate adoption.

  • Governance Framework: Establish contribution workflows, approval processes, and regular audits to ensure quality and evolution.

  • Cross-team Evangelism: Run study jams, showcases, and office hours to maintain visibility and encourage contributions. Scalability: Expand the system to cover motion design, accessibility standards, and cross-platform consistency.

Lessons Learned

After the launch, I realized several key lessons. Reflecting on the process from planning to execution revealed insights about the importance of adaptability and open-mindedness.

  • A design system is not just components — without clear rules and governance, adoption becomes fragmented.

  • Designers and developers need shared ownership; when only one side drives it, usage drops.

  • Early wins (small but high-impact components) help build trust and momentum across teams.

  • Consistent communication and training are as important as the system itself.

The team behind

Meet our team

Alex Karanja

Ux Lead

Stephen Maina

Tech Lead Software Engineering

Christopher Muiruri

Frontend Web Developer

Kelvin Mutiso

Product Designer

Nicholas Ochodo

UI Designer

Fredrick Juma

Product Designer

Rose Maina

IOS Developer

Zakayo Ngige

Android Developer

View More

View More

Other Projects

View More

Other Projects

Survey Tool

Turning scattered feedback into 4X faster decisions for teams, Powering better products ans expereicnes.

Read More

Mobile Image

Survey Tool

Turning scattered feedback into 4X faster decisions for teams, Powering better products ans expereicnes.

Read More

Mobile Image

Survey Tool

Turning scattered feedback into 4X faster decisions for teams, Powering better products ans expereicnes.

Read More

Mobile Image

Partner App Redesign

Driving Growth: 
A Redesign to Increase Agent Productivity and improve user expereince

Casestudy Coming Soon

Mobile Image

Partner App Redesign

Driving Growth: 
A Redesign to Increase Agent Productivity and improve user expereince

Casestudy Coming Soon

Mobile Image

Partner App Redesign

Driving Growth: 
A Redesign to Increase Agent Productivity and improve user expereince

Casestudy Coming Soon

Mobile Image

Apps Merging

Consolidating Chaos into One single Seamless Experience on One App.

Casestudy Coming Soon

Mobile Image

Apps Merging

Consolidating Chaos into One single Seamless Experience on One App.

Casestudy Coming Soon

Mobile Image

Apps Merging

Consolidating Chaos into One single Seamless Experience on One App.

Casestudy Coming Soon

Mobile Image