Skip to content
All projects

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.

Shared componentsConsistent brandingAccessibilityReactTypeScript
A shared component library for CRU screenshot
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