Back to work

CNCBI — Design System

LivePatchwork grid
ProblemWithout a committed system, every new hire introduced new palettes, typography, and patterns — growing inconsistency and maintenance cost.
My roleSenior Designer
CONTEXT

Design entropy at 2M-user scale

Design doesn’t scale easily. Efficiency doesn’t emerge from thin air. Scaling design through hiring — without putting standards in place — is a myth. With every new hire, new ideas for colour palettes, typography and patterns appear in the product, growing the inconsistency and increasing the maintenance cost. Every new hire increases the design entropy.

There’s only one way to stop the growth of the chaos: commit to running a design system process. Gradual growth of a design system equals gradual increase in consistency and speed of software development. A design system is a set of standards for design and code along with components that unify both practices — the same set of instructions and Lego kit for everyone.

01 · AUDIT

Audit existing components

Organised every page by component type, searched for specific pages, filtered by component using the right panel, and surfaced current use cases across all pages. This also exposed where design inconsistencies lived — the starting map for the whole system.

Component audit board
Audit board — every page organised by component.
02 · RESEARCH

Reference systems & banking UI

Not all design systems translate to banking. After team discussion we settled on IBM, Ant Design and Bootstrap as references for the structure, and HSBC and MOX as references for banking UI.

Ant Design in particular showed us a great dev-facing UX: components categorised by type (Data Display, Data Input, Navigation…), anchors for on-page navigation, every state showcased upfront, interactive examples, and one-click copy or open-in-sandbox for code. That became our target for our own docs.

Research on reference design systems
03 · TOOLS

Choose the right toolchain with a POC

Design-system management was new territory for the company. Before rolling a workflow across the studio, we ran a small POC to learn how a design-system management system would actually fit each team’s current practice — not just the theory.

POC of design-system tooling
04 · COMPONENTS

Workshopping every component

For each component: design its attributes and states, and establish its usage guidelines. We reviewed its Jira use cases and studied industry best practice — reading articles, examining how other teams used the component — and then decided on the canonical form for us. From those decisions the structure of the system emerged.

Component research and discussion
Each component documented with states + usage rules.
05 · PLAN

A weekly timeline, foundations first

A weekly schedule based on what needed to be done and who would do it — keeping stakeholders aware of progress and enabling resource allocation. We ordered the backlog by Jira use-case frequency, but prioritised foundations (typography, colour, layout) first, because every subsequent component depends on them.

Weekly rollout timeline
06 · SYMBOLS

Naming conventions & nested symbols

Combed industry articles and other UI toolkits to compare naming conventions and nested-symbol strategies. Previous experience told us the right model was the one that fit our current workflow — and that as tools evolved we’d adjust the naming accordingly. We treated the naming system as a living contract.

Sketch symbol library
07 · BUILD

Sketch → Invision DSM → Storybook

Usage guidelines written clearly for each case. Sketch symbols from the styleguide imported directly into Invision DSM via plugin. Storybook hosted the live component examples for frontend developers with interactive snippets. A design-token API kept the rest of the team in sync with design values automatically.

Design system built — Sketch to Invision DSM to Storybook
Storybook fed from Sketch via Invision DSM + design-token API.
08 · ROLL-OUT

Implement and replace

Communication with engineers, PMs and other stakeholders was the hardest part. Implementation meant building the new components, wiring them to Storybook and Invision DSM, and progressively replacing the legacy components in both the product and the design files — without breaking either surface mid-flight.

Implementation and rollout
See how I ship with agentsBack to work