Malty DS
scaling a multi-brand design system at Carlsberg Group
In short
A multi-brand design system live across four markets and three products.
Overview
Carlsberg Group's digital products were being built brand by brand and market by market, each team rebuilding the same dropdown, the same table, the same nav pattern from scratch. Malty was the fix: a single design system meant to give every team a shared language instead of duplicated work, so product delivery could scale without design and engineering re-solving the same problems every time.

Approach
I led the definition of Malty's structure, component logic and governance model, working closely with designers and developers across markets. Governance wasn't a doc, it was a flow: anyone could flag a bug or request a component, but urgent fixes could detach and ship locally instead of waiting on review. Anything broad enough to matter just had to come back into the system afterward.

Color starts as a flat set of tokens, system, support, default, none of it tied to any brand. Every theme remaps them into the same primary, secondary and tertiary slots, with its own values. Four markets run on three themes: Denmark on the Carlsberg theme, Laos on its own, Norway and the UK on the global one. Same structure, different market, no rebuild.

Thinking in an atomic system allowed us to isolate components and apply theming strategically, not evenly.
The button didn't need to know about the card, and the card didn't need to know about the theme. Its primary type just pointed straight at a token, theme.global.primary, theme.carlsberg.primary or theme.laos.primary, and resolved itself depending on which theme was loaded. That's the strategic part. One token changes, and only the pieces built to read it move. Everything else stays untouched.




Outcome
4
markets shipping product on Malty
Denmark and Laos on branded themes, Norway and the UK on the global theme · live in production
42
components documented and governed
3
products shipping on it: Carl's Shop, Skillable and Cadi
- Live in production, with teams shipping real product on it.
- Carl's Shop, Skillable and Cadi all chose Malty over building their own UI.
- Most components are production-released, the rest openly tracked as known issues.