Design system · CRU Group
A shared component library for CRU
Halved the time CRU's teams spent building screens, and made every product look like the same company.

- Company
- CRU Group
- Category
- Design system
- Timeline
- Aug 2024 – Feb 2025
- Services
- Shared component library · Accessibility · Documentation
THE CHALLENGE
CRU's teams around the world were each building their own buttons, forms and tables. The same work was being done several times over by people who never spoke to each other.
Customers saw the result: products that looked like they came from different companies. The teams felt it differently — simple interface changes took far longer than anyone expected, because every product had its own way of doing the same thing.
WHAT I BUILT
I helped build CRU's first shared component library — one properly made set of interface pieces that every team could use instead of starting from scratch.
Each piece works for people using a keyboard or a screen reader, not just a mouse, and comes with live examples so a developer can see what exists and use it without having to ask anyone.
It supports more than one brand, so different products can still look like themselves while being built from the same parts. I then rebuilt the existing product on top of it, which is the step that proves a library actually works.
The short version
CRU had brought development back in-house after years of outsourcing, and every team was rebuilding the same interface pieces in its own style. I helped build the company's first shared component library, then rebuilt the product on top of it. Interface work now takes about half as long.
What was at stake
Two costs, and the invisible one was larger. The obvious cost was time: every team building its own version of a button, a form, a data table, then maintaining it forever.
The quieter cost was trust. When a company's products each look slightly different, customers notice, even if they could not tell you what is wrong. For a business selling analysis to serious clients, looking scattered is not a small problem.
Building the shared parts
We built one set of interface pieces designed to be used everywhere: buttons, forms, tables, and the layouts that hold them. Made once, properly, by people whose job that was — rather than six times, hurriedly, by people who needed to get on with something else.
Accessible by default, not as an afterthought
Every piece was built to work for people using a keyboard or a screen reader. Building that in once means every product gets it automatically, and nobody has to run an expensive accessibility retrofit later.
Documented so people actually use it
A shared library nobody knows about gets ignored, and then rebuilt. Every piece is documented with live examples a developer can look at and try, so finding the right one is faster than writing your own. That is what makes adoption stick.
One library, several brands
CRU's products do not all look identical, so the library carries the shared behaviour while letting each product keep its own appearance. Teams get consistency where it saves money and freedom where it matters commercially.
Proving it on a real product
I rebuilt the existing product to use the library rather than leaving it as a nice idea in a repository. Doing that surfaced the pieces that were missing or awkward — which is the only reliable way to find out whether a shared library survives contact with real work.
Where it landed
- Interface work takes roughly half the time it did before.
- Global teams build from one shared library instead of several private ones.
- Accessibility is built into every component by default.
- Products share a consistent look while keeping their own brand.
THE OUTCOME
Half the build time, and one consistent brand across every product.
- 50%
- Less time spent building screens
- Global
- Teams now building from one library
- Accessible
- Usable with a keyboard or screen reader
Working on something similar?
Tell me what you're building — I'll reply within 8 hours with a free intro call and a fixed quote within 24 hours after our call.
Book a free intro call