Home Case Studies Work AI Playground About CV & Contact The Number 44
← Case studies Dashboards & Design Systems

Owning the dashboard, not renting it.

A bespoke, tiered dashboard system for Brambles' Supply Chain Illumination platform, so both account managers and enterprise customers like Walmart, Costco and Tesco could build their own. Designed and built in a few weeks using an AI-accelerated, design-system-first workflow.

Owning the dashboard, not renting it. A live SCI dashboard, built and customised from the same component library covered below, not a fixed product handed down from a third-party supplier. Designed and built in a few weeks using an AI-accelerated, design-system-first workflow.

Project snapshot

A short, contract-deadline-driven build that had to replace a costly third-party product without losing any of the customisation the business had already promised to its current and new customers.

Weeks
to design, build and ship the whole system, ahead of a vendor contract renewal
6hrs → Mins
time to build a single dashboard, before and after the design-system-driven rebuild
Two
audiences building from the same system: internal account managers and customers themselves
Tiered
by subscription level, so what a customer can build and customise scales with what they've bought

The challenge, in short

Brambles' customer dashboards were split across Power BI and Brix, a third-party system whose fee had grown too high to justify. Rather than just replace it cheaper, the real opportunity was to build a dashboard experience customers could shape themselves, our data, our frontend, tiered by subscription, in the few weeks before the vendor contract renewed.

The opportunity wasn't a cheaper dashboard. It was a dashboard our customers could actually build themselves.

A fully assembled SCI customer dashboard, showing four metric tiles, two chart tiles, a data table and a pie chart, all built from the same block library
One dashboard, several block types. Metric tiles, charts, a table and a pie chart, assembled in minutes from one component library.
A single chart block component, a bar chart with axis labels, value labels and a legend, one of several chart variations in the library
A chart block. One of the library's chart variations, designed once and reused everywhere.
Customise dashboard screen, showing an editable dashboard name and description, every tile outlined and selectable, a tile mid-drag with reorder and remove controls visible, and Add components, Cancel and Save changes actions
Editing a live dashboard. Add, remove, resize or reorder a tile without leaving the page.

My role, in short

I led product design on the customisable dashboard system for SCI, from the component library through to a shipped, tiered product, working with a Product Owner, Lead Engineer and Researcher, and bringing in Dmytro, a Senior UX Designer, to co-create the data-visualisation components against a tight deadline.

Impact, in short

Dashboards that used to take up to six hours to build now take minutes. The frontend is Brambles' own, on Brambles' own data, no longer dependent on a third-party supplier's pricing, and the component library it's built from has since been adopted into Brambles' official design system as full patterns and reused by 3+ other Brambles products. Templates, editing rights and the block library now scale by subscription tier, and two audiences, internal account managers and customers themselves, build dashboards from the same system today.

The challenge

Brambles' customer-facing dashboards were built two ways, and neither one belonged to us. Some lived in Power BI, functional but never quite fitting how SCI customers actually worked. The rest ran on Brix, an internal dashboard system built on a third-party supplier's backend, and that supplier's fee had grown to the point the business was no longer willing to pay it.

That's a familiar shape of problem: a capability the business depends on, sitting on a vendor relationship that's stopped making commercial sense. The genuine opportunity wasn't just "build it cheaper." It was to use the vendor contract's renewal window as the moment to build a dashboard experience customers could actually shape themselves, our data, our frontend, tiered by subscription, rather than one fixed product handed down from a supplier.

Before that rebuild could start, there was a shorter, narrower job to do first: white-labelling the existing Brix dashboards into SCI's own look and feel, so customers experienced one consistent product while the real system was being built behind the scenes. I steered that transition, keeping it fast and visually consistent with SCI, precisely so it wouldn't need to be a story of its own. It bought the time the real build needed.

The opportunity wasn't a cheaper dashboard. It was a dashboard our customers could actually build themselves.

My role

I led product design on the customisable dashboard system for SCI, working across UX, research, implementation and customer-facing teams, and directly with engineering, to take it from building blocks to a shipped, tiered product.

That covered the design-system foundation the whole build sits on: the chart, table and metric components dashboards are assembled from, the flows for creating, editing and customising a dashboard, and the functionality that decides what a given customer is actually allowed to build, based on their subscription tier. With the deadline tight, I brought Dmytro, one of the strongest designers I've worked with, onto the data-visualisation components as a close collaborator rather than a hand-off; we co-created that piece together, and worked closely with implementation and customer-facing teams to validate what users on the ground, in the office and on the factory floor, actually needed a dashboard to tell them at a glance.

One dashboard, several block types. Metric tiles, line and bar charts, a data table and a pie chart, all pulled from the same component library and assembled onto a single page in minutes, not designed as one bespoke screen.
Chapter 01

Building blocks first

Before a single dashboard could be designed, the pieces it would be built from needed to exist, and be trustworthy enough that anyone assembling a page from them didn't have to think twice.

Every SCI dashboard, whichever tier or audience it's built for, is assembled from the same underlying set of components: chart blocks, table blocks and metric blocks, each with its own set of variations for the type of data and the level of urgency behind it. A supply chain lead scanning for a problem needs a different read than someone building a monthly performance summary for a customer meeting, so the block library had to support both without becoming two separate systems.

This is where I leaned hardest on AI-assisted tooling, not to replace the design thinking, but to accelerate the sheer volume of variation a real component library needs. Given the deadline, I brought Dmytro in to co-create the data-visualisation components with me, and together we used AI-assisted tooling to build out the chart, table and metric blocks in Figma, so a small team could produce a genuinely wide set of building blocks, and their states, in the time a contract deadline actually allowed.

A chart block. One of the library's chart variations, complete with its own toolbar, table-view toggle, download and full-screen actions, designed once and reused across every dashboard that needs it.

Table and metric blocks followed the same logic: one component, several densities and states, rather than a bespoke table built per screen. A metric tile that shows a single number needs to behave the same whether it's reporting on-time delivery for one location or an entire flow, so the states, good, at-risk, breached, were designed once and reused everywhere a number needed to carry a verdict, not just a value.

A metric block. A headline number with supporting context and a link out, one of the simplest blocks in the library and one of the most reused, because most dashboard questions start with a single number.
A table block. Search, sortable columns and pagination built in once, so a customer adding a table to a dashboard gets a working, accessible table, not a blank grid to configure from scratch.

None of this was building components for their own sake. Every block existed because implementation and customer-facing teams had validated a real user need behind it, working directly with the people actually building dashboards for Walmart, Costco and Tesco day to day, and with the archetypes on the other end of them: an office-based analyst with time to dig into a table, and someone on a factory floor who needs a single number to tell them, at a glance, whether to act.

Here's the library in full, every metric, table and chart variation, their sizes and their states, exactly as documented in Figma. Click it and use scroll or pinch to zoom in, drag to pan around.

The component library, in full. Component anatomy, every metric, table and chart variation, and the size and state options behind each one, the full set of building blocks the rest of the system is assembled from.

A library of blocks is only useful once someone can actually assemble them into something a customer can use.

Chapter 02

Flows and functionality

The building blocks only mattered if the flows around them, creating a dashboard, editing one, starting from a template, were fast enough for a non-technical account manager or customer to actually use.

Customers weren't meant to start from nothing. Depending on their subscription tier, a customer could be handed a pre-built starting dashboard, then customise it, add a tile, remove one, swap a chart for a table, or build a new one entirely from the same block library. Internally, account managers had the same building capability, so a dashboard a customer needed urgently didn't have to wait on an engineering ticket.

Tiering wasn't bolted on afterwards. What a given customer could build, start from a template versus build from scratch, a limited block set versus the full library, was a first-class part of the flow design from the beginning, because it's what let the business offer a genuinely differentiated product at each subscription level rather than one dashboard experience gated behind a paywall.

Adding a component. The same block library from Chapter 01, surfaced directly inside the build flow: searchable, filterable by type, with a live preview of each block before it's added to the page.

Editing an existing dashboard followed the same building-block logic in reverse: select a tile, swap what it shows, resize it, or remove it, without ever leaving the dashboard itself for a separate configuration screen. That mattered more than it sounds. A customer mid-conversation with their own stakeholders needed to be able to reshape what they were looking at in the moment, not raise a request and wait.

Editing a live dashboard. Every tile becomes selectable and draggable in place, add a component, remove one, reorder them, rename the dashboard, without leaving the page or opening a separate configuration screen.

Everything above is the summary. Below are the two full Figma flows behind it, every state, edge case and annotation, exactly as they were designed. Click either one and use scroll or pinch to zoom in, drag to pan around.

Dashboard customisation, in full. Every customisation action, moving, switching, resizing, adding and deleting components, mapped state by state.
Core functionality, in full. Filtering, refresh, the date picker and switcher, and dashboard management, the everyday mechanics underneath the block library.

Designing the blocks and flows was only half the job. Getting them built, fast, and built right, was the other half.

Chapter 03

Building it fast, and building it right

A few weeks to design and ship a whole dashboard system only works if design and engineering are moving at the same speed, so the same AI-assisted approach that accelerated the component library carried through into the build.

Once the Figma building blocks existed, product, UX and engineering worked from them directly, building the frontend in React, using Claude in VS Code to turn a documented component into working code fast: build me a page, add this tile, wire this flow. That workflow is what let the block library become an actual product in weeks rather than months, without the usual gap between what got designed and what got shipped.

From block to working dashboard. Reusable chart, table and metric components, and the AI-assisted VS Code workflow used to turn them into a real, interactive dashboard, not a static mock stakeholders had to imagine their way through.

That speed cut both ways. It also meant it was possible to build something fast without the design system at all, and for a while, that's exactly what happened.

Chapter 04

When speed loses the system

Partway through, a separate, AI-accelerated build started in parallel, outside the component library and outside the UX patterns already validated and shipped. It moved fast. It just didn't hold together.

Brambles was testing AI-accelerated development more broadly at the time, and one strand of that testing produced a second version of the dashboard build, built quickly with AI tooling, but built outside the design system and without the UX patterns already validated and in production. It's an easy mistake to make precisely because AI removes the friction that used to force a check-in: building a parallel system from scratch used to take long enough that someone would ask whether it should exist. With AI, it doesn't, so the divergence can ship before anyone catches it.

The result reached implementation teams as something that looked finished but wasn't usable. It's the clearest, most direct evidence I have that a system, however fast it lets you move, only earns its speed if what it produces is still coherent.

What shipped outside the system. Panel titles copied straight from filter logic rather than named for what they show, no shared layout or hierarchy, an unresolved data-limit warning left in place. Identifying details redacted; everything else is exactly as it reached the implementation team.
The same build, back on the system. Named components, a consistent card and chart hierarchy, and the component library both design and engineering already trusted.

I pushed back on it directly, not to defend a design file for its own sake, but because a working, validated version already existed, and rebuilding around it from scratch was costing the business real time against a customer-facing deadline. I made the call to pull the parallel build back under the same system rather than let it keep drifting, brought the product owner, lead engineer and Dmytro back round the same table, and got the support signed off to close the gap fast without slipping the deadline it had put at risk. The fix wasn't to slow AI-assisted development down. It was to point it at the system that already worked.

Once the AI-accelerated build was pointed back at the design system, instead of around it, the same speed started producing the right thing.

Chapter 05

Fast, and consistent, at the same time

The lesson wasn't "AI is risky." It was that AI needs the same design-system guardrails as any other accelerant, or the thing it accelerates is drift, not progress.

I led that realignment personally, getting involved directly in the AI-accelerated build itself rather than reviewing it after the fact, working alongside the product owner and lead engineer, and with Dmytro back on the data-visualisation components, to make sure it was working from the same component library, the same Figma blocks and the same validated UX patterns as everything else on SCI. That's the actual difference between AI as a shortcut around good process and AI as an accelerant for it: the same tooling, pointed at a system instead of around one, with someone accountable for making that call.

Once that realignment happened, the numbers the implementation team had been living with reversed. Dashboards that had taken up to six hours to build, and still weren't right, came down to minutes, because assembling a page from validated, documented components is a fundamentally faster job than reverse-engineering a UX pattern from scratch every time, AI-assisted or not.

What shipped through the system. Same underlying tooling and the same tight deadline as the example above, but assembled from named, documented components with a consistent hierarchy, not built around the design system.

The component library didn't stay inside this one project either. Three more Brambles products have since adopted the same dashboard components and the same customisation UX to build their own dashboards, and the library itself has been folded into Brambles' official design system, not as a handful of atomic components like buttons and inputs, but as full patterns: the chart, table and metric blocks, and the flows for assembling, editing and customising a dashboard, that other teams can now build features from directly rather than design from scratch.

A system only proves itself once the people building on top of it would rather use it than work around it.

Where this system stands today

A dashboard experience Brambles owns outright, built from a shared component library, fast enough for the people who actually build dashboards to reach for it first.

Minutes
to build a dashboard now, down from up to six hours before the design-system rebuild
Owned
the frontend is Brambles' own, on Brambles' own data, no longer dependent on a third-party supplier's pricing
3+
other Brambles products now building their dashboards from the same component library and customisation UX
Adopted
folded into Brambles' official design system as full patterns, not just atomic components like buttons
Tiered
templates, editing rights and the block library scale by subscription level, not a single fixed product
Two
audiences building from the same system today: internal account managers and customers themselves

What this demonstrates

A dashboard is never just a chart. It's the difference between a factory-floor supervisor reacting in seconds and an account manager spending an evening explaining to a customer why the number on screen doesn't match what they were told.

Speed without a system just moves the problem faster. The system is what makes the speed worth having.

This was building the blocks before the screens, validating them with the people actually building dashboards for customers like Walmart, Costco and Tesco, using AI to accelerate that library honestly rather than around it, and staying close enough to a parallel AI-accelerated effort to pull it back to the same system when it started to drift. The result is a dashboard experience the business owns, that both its own teams and its customers can build from, in minutes rather than hours.