23 October 2026
A design system is a promise, not a component library
What working on AmaliTech’s Unified Design System and building the Design Chapter Hub taught me: teams adopt a system when they can trust it won’t break their product.

It’s easy to think of a design system as a set of components. Buttons, inputs, tables, a Figma library and a package to install.
Working on AmaliTech’s Unified Design System changed how I see it. A design system is a promise. Every team that builds on it is trusting that it will look right, work for everyone and not break their product the next time it changes.
Consistency is the easy part to explain
The pitch for a design system is usually consistency. Every product looks like it belongs to the same company, and nobody rebuilds the same date picker for the fifth time.
That’s true, and it matters. But consistency on its own doesn’t get a system adopted. Trust does.
Trust is built with engineers, not handed to them
I worked on the system as a product designer in the UX team, alongside the frontend engineers who build the components and the DevOps engineers who release and host them.
That collaboration is the system. A component isn’t done when it looks right in Figma. It’s done when it works in Angular, React and Vue, meets accessibility level AA, behaves with a keyboard and a screen reader, and ships in a release teams can upgrade to without fear.
Tokens make change cheap
Colour, type, spacing and radius live as design tokens, not as hard-coded values. That sounds like an implementation detail, but it’s what lets the system change without breaking everything built on it. Dark mode is a switch on the page. A theme for a client’s brand is a change to the tokens, not a rebuild.
Links that never break
I took the same idea further with the Design Chapter Hub, the place where AmaliTech’s logos, illustrations and other assets live. Every asset has two kinds of link:
- A latest link that always serves the newest approved version, for docs and slides.
- A pinned link to one exact version, for production apps that shouldn’t change underneath you.
Nothing is ever overwritten. A new upload becomes the next version, and rolling back is a click. Contributors can add assets, maintainers publish them, and nothing goes live without a check.
Same principle as the components: teams can only rely on what they know won’t change on them by surprise.

What I’d tell a team starting one
- Design with the engineers who will build it, not ahead of them.
- Make accessibility part of “done”, not a later audit.
- Put values in tokens from day one.
- Treat every release as a promise to the teams downstream.
Components get a system noticed. Trust is what gets it used.