On Design Systems and customization

In my previous post, I shared my take on deciding whether a component belongs in a design system. But that question leads directly into another one: how much should the system itself be customizable?

To explain, I often come back to Nespresso. Wherever you go in the world, Nespresso pods look the same(*). The decaf pods are red. The intense flavors are darker tones. That consistency is not up for debate. If a local store decided to make decaf pods pink instead of red, the whole brand would lose its clarity.
* Except special/limited editions, keep reading ;)

At the same time, we know products also need to adapt. Different markets celebrate different holidays. Some run seasonal events or one-time promotions that require special layouts or visuals. A design system that cannot flex to support these cases will frustrate teams and slow down the business.

So the real challenge is this: how do you decide which parts of the system should be like Nespresso pods — fixed and universal — and which parts should allow customization?

The problem

If everything is customizable, the system loses its value. Teams start changing colors, layouts, or even components, and the product feels inconsistent from one market to another. Users notice these shifts, and trust in the brand erodes.

But if nothing is customizable, teams lose the ability to respond to local needs. A rigid design system can block them from running campaigns, celebrating cultural events, or meeting market expectations. Both extremes weaken the system.

Criteria for balance

1. Define the “pods” of your brand

Start by identifying the things that must never change. Just like Nespresso’s pod colors, these elements define your brand identity everywhere. They usually include logos, primary colors, typography, and core UI elements like buttons or inputs.

2. Allow for local needs

Then, decide where flexibility is valuable. Seasonal events, regional holidays, and one-time promotions are good examples. These can be expressed through banners, illustrations, or themed content without touching the brand’s “pods.”

3. Clarify ownership

Someone needs to draw the line between what is fixed and what can change. Without clear governance, every team will push for their own interpretation, and the system will fragment.

4. Build safe customization paths

If customization is allowed, make it intentional. Support it with theming, token overrides, or predefined slots for campaign content. This gives teams freedom while keeping the system stable.

My personal take

I believe a design system should act like Nespresso for your brand. Some parts are non-negotiable and must stay the same everywhere. Other parts can flex to fit local needs.

From my experience, the strongest systems define those boundaries clearly. Everyone knows which rules are fixed, which rules are flexible, and who gets to decide. That clarity is what prevents chaos and turns the system into a reliable tool.

So when thinking about customization, I always ask: what are our pods? If you can answer that, your design system can scale globally without losing local relevance.