CHANI - Design system

Ipads screens showing the different tabs of the easydesk app

02

chani

2024

Overview

Overview

When I first joined CHANI as Product Designer, I inherited a Figma file that was more of a loose collection of screens than a working design system. Components were inconsistent, documentation was sparse, and the engineering team had been filling in the gaps by designing missing screens themselves. With the Android launch fast approaching, I knew the foundation needed to be rebuilt โ€” and fast.

Over four sprints, I designed and implemented CHANI's first comprehensive design system: a scalable, accessible, and well-documented system that unified the iOS and Android experiences and transformed how design and engineering worked together.

GOALS

  • Create a single source of truth for design components and visual standards

  • Improve handoff efficiency and reduce back-and-forth between design and engineering

  • Establish accessibility as a core pillar of the product's visual language

Role:

Role:

product design

product design

design systems

design systems

cross team collaboration

cross team collaboration

Timeline:

Timeline:

Q1 2024 - Over 4 sprints

Q1 2024 - Over 4 sprints

With:

With:

engineering dept.

engineering dept.

Product dept.

Product dept.

the challenge

The closer we got to the Android launch deadline, the clearer it became that our design-to-engineering process was broken. Designs were hard to locate, wireframes were missing entirely for large sections of the app, and there was no shared language between the design and engineering teams. Every handoff required lengthy explanation. Every QA cycle surfaced new inconsistencies.

The absence of a design system wasn't just a design problem โ€” it was slowing down the entire product team at the worst possible time.

Business need: Accelerate the Android launch by eliminating design ambiguity and reducing the time engineers spent interpreting, questioning, or rebuilding designs from scratch.

USEr need: Deliver a consistent, accessible experience across iOS and Android โ€” so users got the same quality product regardless of which platform they were on.

USEr need: Help new users understand what CHANI offers, navigate a complex app confidently, and feel supported from the moment they sign up.

problem to solve

problem to solve

Without a unified design system, CHANI's design and engineering teams were losing time to inconsistency, miscommunication, and missing documentation which was creating compounding delays as the Android launch deadline approached.

Without a unified design system, CHANI's design and engineering teams were losing time to inconsistency, miscommunication, and missing documentation which was creating compounding delays as the Android launch deadline approached.

the audit

understanding the problem

understanding the problem

Before building anything new, I needed to understand exactly what we had. I conducted a thorough audit of the existing Figma files and the live application, comparing what had been designed against what had actually been built.

Before building anything new, I needed to understand exactly what we had. I conducted a thorough audit of the existing Figma files and the live application, comparing what had been designed against what had actually been built.

the ux Audit

inconsistent components: There were multiple variants of buttons, badges, and cards with no clear rules for when to use which.

no spacing system: Padding and spacing were applied inconsistently across screens, with no underlying scale

no spacing system: Padding and spacing were applied inconsistently across screens, with no underlying scale

no typography scale: The distinction between header and body text was applied differently across different parts of the app.

no typography scale: The distinction between header and body text was applied differently across different parts of the app.

missing wireframes: A significant portion of the app had no design files at all . the engineering team had been building these screens themselves

missing wireframes: A significant portion of the app had no design files at all . the engineering team had been building these screens themselves

consulting engineering

consulting engineering

One of the most valuable things I did early in this process was sit down with the engineering team and listen. I wanted to understand not just what was broken, but what they actually needed from a design system to do their jobs well.

Their input directly shaped what we built. They flagged missing elements that weren't obvious from the design side: explicit spacing standards, color hex codes, clear button states, and platform-specific variants. Building the system with them and not just for them, was one of the best decisions I made on this project.

key insights & themes

key insights & themes

These insights drove our prioritization of features and ensured with kept sight of our business and user needs.

These insights drove our prioritization of features and ensured with kept sight of our business and user needs.

๐ŸŽ›๏ธ

no consistency

Buttons, badges, and cards existed in multiple inconsistent variants with no rules for when or how to use them.

โš–๏ธ

no scale

Without an underlying scale, padding and type hierarchy varied screen to screen, making the product feel unpolished and hard to build from.

๐Ÿ“‘

no documentation

A significant portion of the app had no design files at all, forcing engineers to make design decisions that weren't theirs to make.

๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป

a seat at the table

The engineering team's real needs like hex codes, spacing standards, platform variants weren't visible until I asked, making collaboration the most important research tool of the project.

how might weโ€ฆ

How might we build a design system that's simple enough for a small team to maintain, scalable enough to grow with the product, and clear enough that engineers can build from it without needing a designer in the room?

How might we build a design system that's simple enough for a small team to maintain, scalable enough to grow with the product, and clear enough that engineers can build from it without needing a designer in the room?

the process

building the foundation

building the foundation

I realized a fragmented design process needed more than a component library to fix it. I structured the work into three interconnected workstreams by building the design system, centralizing documentation, and embedding myself into the engineering process, so that every layer of the problem had a direct solution.

I realized a fragmented design process needed more than a component library to fix it. I structured the work into three interconnected workstreams by building the design system, centralizing documentation, and embedding myself into the engineering process, so that every layer of the problem had a direct solution.

solution one: the design system

I used Atomic Design principles as the foundation, building up from the smallest tokens to full components. I also made accessibility a non-negotiable pillar from the start โ€” referencing iOS Human Interface Guidelines and Material Design to ensure every decision was grounded in platform standards.

design tokens: A consistent sizing scale, color palette with hex codes, and spacing standards applied across the entire app

typography scale: A clear hierarchy distinguishing header styles from body text, with defined weights and sizes for each

component library: Buttons, badges, cards, inputs, and other UI elements, each with defined use cases, variants, and states

platform variants: Where iOS and Android diverged, the system documented both so that engineers always knew which version applied

Solution 2: a living wireframe library

Solution 2: a living wireframe library

One of the most painful day-to-day problems was that there was no single place to find the current state of the app. Designs were scattered, outdated versions were hard to distinguish from current ones, and teams outside of design (like marketing, content, and CX) had no reliable reference.

I built a dedicated Figma file separate from the design system to house all app wireframes, organized by release. This file became the shared source of truth for the entire company, not just the product team. I maintained it meticulously through every new release, so it always reflected the live product.

solution 3: education & collaboration

solution 3: education & collaboration

A design system is only as good as the team's ability to use it. I put significant effort into making sure the engineering team was not just handed a file, but actually understood how to work with it.

I ran walkthroughs of the design system in Figma, explaining how to navigate components, read documentation, and interpret handoff specs. I also made the decision to join the engineering team's sprint schedule, a move that transformed our collaboration almost immediately. Once I was part of their sprint cadence, we could discuss design changes in real time, catch issues early, and move much faster together.

Fig. 07 - Swipe to see CHANI Design System Atoms

the final designs

A system, not parts

A system, not parts

The design system launched in time to support the Android release, with a complete component library, documented tokens, and platform-specific guidance in place.

The design system launched in time to support the Android release, with a complete component library, documented tokens, and platform-specific guidance in place.

Fig. 08 - Swipe to see the CHANI App

๐Ÿ—ฃ๏ธ

accessibility first

accessibility first

Every color pairing, touch target, and type size was evaluated against accessibility standards before being added to the system.

๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป

built with engineering, not just for them

built with engineering, not just for them

Engineering's early involvement meant the system was shaped by how it would actually be used in code and not just how it looked in Figma.

๐Ÿ› ๏ธ

separation of concerns

separation of concerns

Keeping the design system and the wireframe library as separate files meant each served a distinct purpose and stayed clean over time.

the results

The design system's impact was felt immediately across the team. Feedback from engineering was direct and enthusiastic.

The design system's impact was felt immediately across the team. Feedback from engineering was direct and enthusiastic.

+39%

+39%

+39%

Increase in user base when we launched the android app

+71%

+71%

+71%

increase in Product + Engineering efficiency

Beyond the metrics, the biggest win for us was cultural. The design system became the foundation of genuine trust and improved the working relationship between design and engineering, one that has carried through everything we built after it.

Beyond the metrics, the biggest win for us was cultural. The design system became the foundation of genuine trust and improved the working relationship between design and engineering, one that has carried through everything we built after it.

the lessons

what i learned

what i learned

This project changed how I think about design systems, which was less as a deliverable to ship, and more as a living agreement between design and engineering.

This project changed how I think about design systems, which was less as a deliverable to ship, and more as a living agreement between design and engineering.

๐Ÿ—ฃ๏ธ

a design system is a communication tool as much as a design tool

a design system is a communication tool as much as a design tool

The most valuable thing the design system did wasn't standardize buttons, it was giving design and engineering a shared language.

When we both pointed to the same component with the same name, whole categories of misunderstanding disappeared.

๐Ÿ‘จ๐Ÿผโ€๐Ÿ’ป

involving engineers early pays off exponentially

involving engineers early pays off exponentially

Building the system with Engineering rather than handing it over at the end changed the quality of what we made.

They surfaced needs I wouldn't have thought to design for, and their buy-in made adoption effortless.

๐Ÿ› ๏ธ

governance matters as much as creation

governance matters as much as creation

Shipping the system was only the beginning. Maintaining it and updating the wireframe library with every release, enforcing consistency, and evolving components as the product grew, was what made it genuinely useful over time.

6:23 PM

rafin samad

MAde with love ๐Ÿ’ž ยฉ 2025 all rights reserved

6:23 PM

rafin samad

MAde with love ๐Ÿ’ž ยฉ 2025 all rights reserved

6:23 PM

rafin samad

MAde with love ๐Ÿ’ž ยฉ 2025 all rights reserved