Kaisa BergWorkQbrick Design System
01 · Qbrick design system

Qbrick design system, a shared language for a complex video platform.

Designing the foundation a fast-moving team needed, but didn't know to ask for.

02 · Cover
An overview of the Qbrick design system
03 · Project info
RoleProduct strategy, competitive research, UX design
Team1 PM, 3 developers, 1 UX designer (me, owning every decision)
TimelineFebruary 2025 and ongoing
OutputA Figma design system used across the whole platform
04 · The question

What happens when a fast team has no shared language?

Qbrick moved fast and had no shared visual or component language. Developers built components from scratch or borrowed public libraries, so buttons, modals and inputs looked different in every product. Designers had no tokens, no scales and no shared library. Customers met inconsistent patterns, like one product asking for an image upload and another for a URL, and support spent a lot of time guiding them.

Then my closest collaborator, our PM, was leaving, and leadership wanted more features, faster. Onboarding anyone new into the way we worked felt close to impossible.

05 · Comment
Nathan CurtisEightShapes
"A design system isn't a project. It's a product serving products."
Why the work keeps going after the first release.
06 · The guiding principle

100% Qbrick.

Qbrick already had a look of its own, and the system was built to protect it. Every component was informed by bigger design systems, but visually everything is Qbrick's own: its colours, its shapes and its feel.

Material UICarbonChakra UIQbrick
StudiedMaterial UI, Carbon and Chakra UI
Borrowed from CarbonDocumentation, component logic and state naming
100% our ownThe visual identity, look and feel
07 · Decision 01
Decision 01

Tokens that describe intent

A base palette sits underneath a semantic layer with names like surface-default, hover and hover-light. When the brand colour changes or a new use case appears, only the mapping changes, and the components stay untouched.

The token library
The token library.
08 · Decision 02
Decision 02

Primitives before patterns

Buttons, inputs and labels came first, then forms, cards and tables. That way every decision about a pattern rests on primitives that are already finished, instead of guesses.

Primitives: buttons and icon buttons
Primitives: buttons and icon buttons.
09 · Decision 03
Decision 03

Borrow the logic, not the look

Adopting an existing system would have meant giving up Qbrick's identity, which leadership wanted to keep. So I used Carbon as the model for how things work, borrowing its documentation, component logic and state naming, and designed how everything looks myself. As the only dedicated UX designer, I owned every decision, which was the fastest route to consistency.

Primitives and patterns
Primitives and patterns.
10 · Decision 04
Decision 04

Documentation where we work

Most documentation lives inside the Figma components themselves, and only the most complex components have their own written docs. It was the quickest route to something usable, and it is also where the system has the most room to grow.

Button documentation
Button documentation.
11 · Hidden layer

What we left out

A code component library. There is no Storybook yet, so developers still rebuild components in code, and most components have no written documentation beyond what lives in Figma. Shipping a usable Figma library first was the fastest way to consistency. Connecting it to code is the next step.

12 · The finished product

The first usable version shipped after three months.

Figma · Light and dark

A full colour scale around the brand colour plus system colours for status, surfaces, borders and feedback. Semantic tokens with light and dark modes. Around 40 components, each with its states and sizes, and a starter set of page templates. New components are added every month.

The Qbrick platform
The Qbrick platform.
Light mode and dark mode
Light mode and dark mode.
13 · Impact
~40components, documented with states and sizes. More once you count variants.
2modes, light and dark, switched through token mapping instead of per-component overrides.
1shared vocabulary for designers and developers, and faster, more consistent design work across products.
14 · What I learned

A Figma library is not a finished design system.

Tokens can't be fully designed in the abstract: testing dark mode exposed gaps, like hover states on darker surfaces. The system feels real to designers but not yet to developers, so one shared source of truth is the next step. And if your company is still early, adopt an existing system and customise the brand layer before you build your own.

15 · Next
Thanks for reading

Want to see more?