The Daly design system in zeroheight: the Co-operative Bank's overview page, with tiles for what it is, who it's for and its principles, plus tools for design tokens, Figma and React
A Storybook screenshot of the Daly component library: a "Comparison card" rendered three-up, with a sidebar listing components (Text, Button, Form Fields, Panel, Loaders, Accordions, Grid)
Daly's accessibility guidance in zeroheight: an overview grid of tiles for Navigation, Media, Colour, Headings, Links and buttons, Presentation of content, Page structure and Design
Daly's content guidelines in zeroheight: a grid of tiles for creating new content, writing readable content, using headings, and content for components
← Back

Daly

The Co-operative Bank's teams were organised by platform, not product, so the same components got rebuilt differently on every surface. Daly is the design system I led to end that: tokenised, accessible, and adopted without a big-bang switchover. Still in use across the bank years on.

Client
The Co-operative Bank
Role
Design system · Front-end engineering · Accessibility · Interface design · Workshop facilitation
Year
2019
Tags
design system, front-end, accessibility, banking

The same button, rebuilt on every platform

The Co-operative Bank was founded before the telephone existed, and parts of its digital estate felt it: some pages hadn’t really changed since the 2008 crash. The deeper problem was structural.

The bank’s scrum teams were organised by platform, not by product, so the same feature got built and rebuilt separately for the web, the mobile app, the sales pages and the servicing pages, drifting apart a little more each time.

When I joined, a colleague, Shane, showed me a vast Figma page he’d kept of every place a single component (a button, say) looked or behaved differently across the bank. Everyone could see the mess. Nobody had a way to act on it. And in financial services that mess isn’t cosmetic: with an older, banking-dependent customer base, inconsistent and inaccessible pages do real harm.

To cap it off, our hosting provider was shutting us off within months, so whatever we did had to be ready for a site migration on a brutal timeline.

Build the system, don’t force the switch

The obvious move under a deadline is to re-skin the pages you have to migrate and ship. Building a proper, tokenised design system instead wasn’t an easy sell. systems are long-term infrastructure, and we had weeks.

What made it safe was refusing a big bang. We designed components and patterns that could fit every surface and stack, but we didn’t demand that every team switch over at once. Some hopped on immediately (business banking were mid-rollout of a new frontend and app, so the timing suited them); the personal-banking app came later after clearing a roadmap months long.

A mismatch in two months is no worse than the mismatch today, and meanwhile the foundations exist for whoever’s ready. The groundwork rode on previous audits and the teams’ own: each audited its surface and fed it up, which told us the minimum set of tokens and components we actually needed, and which odd bits were fine being left outside the system for a while.

Tokens, Storybook, and accessibility

By month two I’d built the component library in React with styled-components and Storybook, pulling styling and formatting from a token system so one definition could feed every surface.

Accessibility wasn’t a bolt-on: alongside the obvious contrast and type-scale work, we wrote real guidance on accessible content and on choosing accessible imagery, the sort of thing that matters most for exactly the customers banks tend to forget. The result was extensible and maintainable, and (the entire point of the exercise) mutually intelligible: developers, designers, content executives and managers could finally build the same thing the same way.

A Storybook screenshot of the Daly component library: a "Comparison card" rendered three-up, with a sidebar listing components (Text, Button, Form Fields, Panel, Loaders, Accordions, Grid)

Daly's accessibility guidance in zeroheight: an overview grid of tiles for Navigation, Media, Colour, Headings, Links and buttons, Presentation of content, Page structure and Design

Daly's content guidelines in zeroheight: a grid of tiles for creating new content, writing readable content, using headings, and content for components

What I led, and who saw it first

I led the formalisation of the design language and built the component library, and I named the thing after James Daly, a joiner who built the first co-operative business out of recycled materials. The inconsistency itself wasn’t my discovery; others had been documenting it for ages.

My job was to turn something everyone could see into a system they could actually use, and a realistic path to adopting it, working alongside product owners, content designers and developers throughout.

Still in use, years on

Daly is still the bank’s system, and you can still browse it on zeroheight. As far as I know it’s reached every touchpoint now, including the slow ones, and other designers have since refined it and put it in their own portfolios. It’s long outlived me at the bank.


Tools: Figma, React, styled-components, Storybook, zeroheight.