With a commitment to quality and efficiency, HAWE aimed for a comprehensive redesign to unify its digital experience. The goal was to align individual teams — and the tools they were building — under one visual language.

The Customer Portal was a single entry point that gave both internal teams and external customers access to a range of tools. Open two tools side by side and they looked like they came from different companies.

Different button styles, different navigation patterns, different typographic choices — all within a portal that was supposed to carry a single corporate identity. There was no shared logic binding them together, and no process for ensuring new development would be any different.

Screenshots of different tools with different UI patterns

The design manual and defined corporate identity gave me a starting point. I wanted to make the defined visual language, typography and color scheme visible to everyone in the organisation and as easy to use as possible.

Screenshot of messy Header components and documentation defining the component

I kicked things off with an audit of every application accessible through the portal. I catalogued components, patterns, and interactions across all of them.

The audit served two purposes. It gave me a clear picture of the scope of work. And it gave stakeholders a visual. Showing the same header rendered six different ways is more persuasive than describing it.

I proposed Material UI as the base component library. The reasoning was practical: MUI gave us a well-documented, accessible, production-ready foundation that the development team could work with directly.

Using Material UI as a base, I quickly mocked up clean, consistent interfaces. Stakeholders saw the value, and we shifted from debating theory of "nice-to-haves" to exploring solutions.

Before and after interface mockup
Prototyping helped to visualize the design system and its components. It was a great way to show the value of the system.

We piloted the system on one product. I followed Atomic Design principles to build tokens, components, and patterns that translated directly into code. Early dev feedback helped me refine things fast.

Design token definition in Figma
Design tokens were the first step in creating a design system. They helped us to define the visual language of the system.

Holding the line meant showing up in small moments. Why this component. Why this token, not a custom one. I invited teams in early and made the system theirs. The argument was never aesthetic. It was about the cost of inconsistency.

Loom walk-through snippet

Designing components wasn’t just about looks. Dev teams needed clarity, and we needed consistency. To achieve that, I documented specs covering design, behavior, and best practices.

Screenshot of component documentation in Figma

A design system is only as good as the process around it. Getting the components right was the easier part. Making sure the system stayed coherent as more people used it required structures that didn't exist yet.

Accidentally pulling an update was causing chaos in working files. To solve this, I introduced a versioning practice inspired by front-end workflows. All changes had to be reviewed against other open contexts they were used in. Designers could now test changes safely before "pushing to production".

Screenshots of change log page
Versioning was a great way to keep track of changes in the design system. It helped us to avoid breaking changes and to communicate updates to the team.

The goal was to make implementation unambiguous — to reduce the back-and-forth between design and development that had previously been absorbing significant time on both sides.

The external development team we worked with confirmed that the documentation quality was making a measurable difference. Less time spent clarifying intent, faster iteration cycles, fewer revisions after implementation.

Before extending the system more widely, a senior stakeholder commissioned an external UX agency to review the work. Their assessment sharpened the accessibility approach and validated the overall direction. This independent perspective carried weight that internal advocacy couldn't.

View of the design system tree

A beautifully structured library that nobody uses is just documentation. What I cared about most was whether the system became part of how people worked. Ideally, something they built from by default.

Creating a design system is creating a shared language for better collaboration and more delightful products.

If you're tackling messy systems and want a design partner who brings systems thinking and clarity to cross-team collaboration, let’s connect.

Next project

HAWE Hydraulik - Shaping the company’s design culture and expanding my role into strategy