Gromatik: from tools for a client to a product of my own
A platform for maintaining design systems, built from tools for a client with many brands, in which AI generates component code within limits enforced by hard rules.
Gromatik is a platform for maintaining design systems that grew out of tools I built for a client with many brands. AI generates component code in it, but only within limits enforced by hard rules.
Where it came from
First I built a set of tools for a group with many brands that measures how far designs in Figma drift from the agreed standard (June 2026). Then I wrote the method down so it could be rolled out for other clients under their own brand (blind.ds, August 2026). Finally I turned it into a product: Gromatik (August–September 2026).
Gromatik keeps a design system's tokens and documentation in one place, detects drift between Figma and the standard, measures how many teams actually use the system and checks colour contrast. From a component designed in Figma it generates code in the client's framework and sends it to the repository for approval. It runs on the client's server, and all data can be exported to open formats.
How I keep AI in check
This is the most important part of the case study, because it shows on a working product how I deploy AI.
The model does one thing at a time.One model call per component, with no agent loop. The model runs no code on the server, and the component preview runs only in the browser. If a single attempt is not enough, I record that as a finding instead of letting the model try again and again.
I measure instead of assuming. I checked whether the same model with the same instruction gives the same result: 5 repetitions of the same prompt to the same model gave 5 byte-wise different results. Every run now records its settings and a fingerprint of its input, so you can trace where a result came from.
I block what the model should not invent. The same measurement showed the model using token names that do not exist in the system, with nothing stopping it. Such a component no longer gets through.
I decide what not to build. The "agent in the product" feature was designed and suspended on the same day, before implementation, with a recorded condition for returning to it.
Scale
About 1000 tests and five recorded architectural decisions. Agents prepare the code, and I review every change before it reaches the main branch. A public demo set shows one core, three brands and thirteen deliberately seeded drifts.
My role
Gromatik and blind.ds are mine: I designed and built them myself, as a private project. Agents write the code on separate branches, and I approve every change.
Why it belongs in the profile
It is the fullest evidence that I combine building with AI governance: from tools for a client, through a written-down method, to a product in which mechanisms constrain AI and every conclusion about its behaviour comes from measurement.
A design system for an energy group with many brands. A centre of excellence made up mostly of designers from my team develops it; I give strategic support and a toolchain that measures brand consistency.
Organisation
Energy group with many brands (Organisation anonymised)
Period
2026 – in progress
Role
Product Design Manager; strategic support and author of the toolchain