Work HM Design System & HM Make

Designing the system behind AI-generated experiences.

Role
UX Lead → Design Engineer
Span
Since 2021
Components in code
51, rebuilt 1:1
Compliance
34% → 91%
Used by
HProduce, HConnect, Sustainability, Ghana Digital Hub

Context

When I joined Heidelberg Materials, there was no design system. What I found were a few scattered designs in Sketch and InVision.

This is how that turned into a shared design system, a component library in code, a rule set an AI can work with, and finally HM Make: a platform where employees build prototypes from the design system and company data. Each step made the next one possible.

  • Design Systems
  • AI
  • Design Engineering
  • 34% → 91% compliance
  1. Sketch & InVision
  2. Figma
  3. Design system
  4. Components in code
  5. Design harness
  6. HM Make

01 · Foundation

I proposed moving the design organization to Figma. Once that happened, I supported the designers through the switch.

Then I built a design system, first on my own and later with colleagues. We set up processes, built components and held regular meetings, so that every designer used the system but also pointed out its weaknesses and gaps. Together we decided what belonged in the design system, what didn’t, and how to handle special cases.

It had two goals:

  • Consistency across products, for a seamless user experience.
  • Faster designers through reusable assets: 46% more productive, by our internal calculation.
Fundamental design system cover: the logo and wordmark surrounded by simplified components such as a stepper, toggle, checkbox and dropdown.
Fundamental, the first version of the design system.

The result, the Fundamental Design System, created consistency across product families including HProduce, HConnect and Sustainability. A second version added design tokens and multi-brand support.

During Heidelberg Materials’ corporate rebranding, the system also had to translate the brand into patterns that work for productive enterprise software: information density, hierarchy, interaction and accessibility, particularly color contrast.

The guiding question was how to express the brand without making the applications worse.

The same dashboard with silo fill levels, an electricity price forecast and a cost avoidance chart, shown in a dark, a blue and a light green theme.
Design tokens and multi-brand support: one dashboard, three themes.
Figma documentation of the silo view component: its composition explained with numbered callouts, and sizes M and S in regular and hover state across three themes.
A component documented in Figma: composition, sizes, states and themes.
Figma page of AI interaction elements: AI action buttons, an Ask AI title bar button, a close button, an add-as-context button and a tertiary recover action, each in regular, hover and pressed state.
AI interaction elements, added to the system as AI moved into the products.

02 · The gap

On the design side, this worked well for several years. But as long as AI tools weren’t mature enough for designers to build production code themselves, we depended on development to implement the system.

Development built the basic components at about 80% quality. Overall, though, components were implemented to only 50–60% of what was designed. The result was a patchwork in the implementation: the quality we designed never fully reached the user.

When we measured it, design-system compliance of the relevant component set was 34%.

The design system worked in Figma. It never fully arrived in the product.

How a component reached the product

  1. Design in Figma
  2. Handover
  3. Implementation
  4. Design review
  5. Changes
  6. Implementation
  7. Review
  8. Merge

03 · Into code, 1:1

In Q1 2026 we got the chance to change that. Another designer and I rebuilt the entire design system in code: 1:1, every single component, to the full quality standard.

We put it in a repository. Developers only had to review it and merge it into their component library. For the whole library, that took about one developer-day: 12.5 minutes of review per component on average.

Engineering estimated the new process at roughly 50% less effort and 70% less flow time per component. And the responsibility model changed: UX creates and maintains the design intent; Engineering validates the implementation.

How a component reaches the product now

  1. Designer builds the component in code
  2. Merge request
  3. Engineering reviews
  4. Merge
Design-system compliance
91%
Up from 34%, above the project’s 90% target.
Components in code
51
Every component, rebuilt 1:1.
Effort per component
−50%
Flow time per component
−70%
Button page of the component library in code: navigation of all components, a playground to switch variant, size and options with the generated code, and the first do-not-use rules.
The design system in code: every component with a playground, props, examples and usage rules.
Colour tokens in the code documentation: positive and negative colours with their tints, hex values, intended use and hover and selected states.
Colour tokens with their purpose and states.
Token reference of the input field: a tooltip on the warning token shows its description, its primitive and its value in four themes.
Every token resolves to its primitive and its value per theme.

Years of patchwork, removed in one project.

04 · A design harness for AI

The same component base could now be used to build AI prototypes. But an agent needs more than components. It needs to know what a component is for, when to use it and when not, how to build it in, and which component works best in which case.

So, in the same quarter, we set out to make our design knowledge machine-readable. We built a design harness around the components: a rule set with component metadata covering purpose, selection guidance, anatomy, accessibility, examples and best practices, plus catalogs for UX patterns, usability heuristics and design tokens.

On top of it we built agents that compose an interface from the components and the rules, refined over 15 iterations.

UX patterns
17
Usability heuristics
32
Reusable agent skills
4
Discovery, solution design, compliance checking and iteration.
Button.spec.json
"component": {
  "name": "Button",
  "figmaNodeId": "1642:19910",
  "description": "13 variants · 4 sizes ·
      icons · loading · toggled…",
  "codeFilePath": "src/…/Button.tsx"
},
"anatomy": [
  { "element": "Container", "prop": null },
  { "element": "Leading Icon", "prop": "leadingIcon" },
  { "element": "Label", "prop": "children" },
  { "element": "Loader", "type": "derived" }
]
Part of a component spec: what the component is, where it lives in Figma and code, and its anatomy.
component knowledge · 3 densities
component-catalog.jsonOverview · 1 line per component
name · purpose · selectionGuidance // scanned when choosing
component-meta.jsonDetail · full spec
doNotUse · structure · accessibility · examples // when building
component-description.mdDeep · pipeline control
deviations · constraints · changeLog // when rebuilding
The agent reads each component in three densities, only as deep as the task needs.
Two text wireframe variants for a redistribution plan, drafted by the design agent: a ranked move table with a cost summary, and a two-pane layout with an edit drawer.
Wireframe variants drafted by the design agent before it builds anything.

05 · HM Make

The harness is used in HM Make, a platform built by development. Besides the design system, it can tap into company-internal data, so people don’t have to upload partly security-relevant data to external tools.

We co-developed the UX of HM Make too. And parts of our work, including the four agent skills, were adopted by Software Engineering’s broader AI Builder efforts.

Wireframes of the guided flow, from when HM Make was still called Create: choosing up to three personas by business domain, then a preselected business line.
An early wireframe of the guided flow: people pick personas and business lines the company already has, instead of explaining everything in a chat.
HM Make sign-in page: “You describe it. AI builds it.”, the steps create, build and preview, and share, and a sign-in with the company account.
HM Make today: people sign in with their company account, describe what they need, and the AI builds it.

What this changed for me

I was once deeply interested in the components themselves. Today I’m more interested in the system around them: how the organization makes decisions, how design knowledge travels, how much duplication we can remove, and how technology can amplify good design judgement.

That changes the designer’s role: less time drawing every implementation, more time defining intent, patterns, constraints and quality. That’s leverage.

A design system is becoming infrastructure for both humans and machines to make product decisions.