HKChat Design System

A design system that gives design and engineering one shared vocabulary, so HKChat stays consistent as it keeps adding features.

Client

HKChat () · HKGAI

Role

Product Designer
Project owner

Duration

June 2026 present

Deliverables

Design tokens · Component library · Style guide · Developer handoff

Client

HKChat () · HKGAI

Duration

June 2026 present

Role

Product Designer
Project owner

Deliverables

Design tokens · Component library · Style guide · Developer handoff

My Role

I owned the design system while the product kept shipping.

01.

System ownership

Tokens, components, documentation, and the loop back from code.

02.

Design-to-code handoff

The export pipeline and the checks that keep design and code aligned.

03.

Feature design

News, community, weather preview, and the widget rules underneath them.

Challenges

Features were shipping faster than the design language could hold them.

01.

No tokens

Components were built without defined values. Nothing to point at when two screens disagreed.

02.

Inconsistency became a UX problem

The same control behaved differently depending on the screen. Not only a visual issue.

03.

Two jobs at once

Features kept shipping. The system had to be built around a product that would not pause.

About the product

HKChat is Hong Kong's first locally built AI assistant.

Hong Kong's generative AI research centre, funded under InnoHK and led by HKUST. It runs five domain products and is now moving from research into commercial operation. As their MVP product, HKChat launched November 2025. Reached #1 on the Hong Kong App Store and 90,000+ users in its first week. Runs on HKGAI V1, a locally fine-tuned model. Answers in Cantonese, Traditional Chinese, Simplified Chinese and English.

#1

App Store ranking at launched

90,000+

ACTIVE USERS

720,000+

registered downloads

10+

Years of research

500+

Families supported

50+

Forms digitised

Goal

Architecting a Design System for AI-Assisted Workflows

The design system runs on a shared context layer that connects the Figma library and the codebase, with both sides resolving to the same tokens so a single change propagates everywhere without rewrites. AI sits inside this loop: it generates the prototype for review and reads the Figma file directly to export the spec and tokens that developers build from.

process

Five stages from audit to production.

  1. Audit

    Read the shipped code and figma file to separate real variation from accidental drift.

  2. Components

    Build the shared set in Storybook, each one defined with its states and its usage rules.

  3. Tokens

    Two tiers of values. Semantic names describe what a value is for, so developers know when to use it.

  4. Handoff

    Performance, SEO and analytics are checked, then we go live and keep iterating.

01.

Deep audit

HKChat grew quickly, and the same control could look different from one screen to the next. There was nothing shared to point at, so before designing anything, we read what already existed and gave each decision a name.

02.

Component building

Built the shared set in Storybook, deliberately small at first. Each component defined with its states and its usage rules, including when not to use it.

03.

Token architecture

Two tiers. Primitive values hold the raw scale and nothing in the interface binds to them. Semantic roles describe what a value is for, and only those carry both a light and a dark value.

Naming carries the most weight here. color.primary.default tells a developer where the value belongs and when to use it, so the token can be applied without asking a designer. A name like --user-message-bg describes one spot on one screen — it cannot be reused, and it gets missed when a second theme is added.

04.

Export and validation

Checking and exporting run as one chain. The contrast check happens in Figma before anything leaves the file, and the last check happens in the built app.A style guide us also published for non-technical stakeholder.

COMPONENTS SHOWCASE

Outcome & Reflection

82%

Token coveragein the codebase

2,294 → 170

Places to edit for a theme change, before and after the token layer.

85%

Task completion rate across all 3 user groups in usability testing

50+

Clinical forms mapped and structured into a digital workflow

What I've learned

Format determines what becomes possible later. By structuring the system in an open, AI-readable format from the start, I made it readable by both people and AI—not just editable by hand. That foundation enabled automated audits, scalable updates, and other workflows that would otherwise require manual effort.

What I'll change next time

Define what a better system means before building one. A more efficient system is not automatically a better one. Fewer values to update and faster handoff measure how the system runs, not what it produces. It also has to be judged on accessibility, visual consistency, usability, and brand expression. That needs a baseline — so next time the Figma library gets versioned alongside the code, with a changelog and written evaluation criteria, and improvements become traceable rather than assumed.

Next projects

Enter password to view case study