Early on at Whitespace, design files were a mess. Designers copied assets from old flows, and there were 27 versions of the dialog component alone. I started a lightweight design system to bring some consistency. A few years later, technical and design debt had reached the point where we could barely add anything without breaking something else, so I made the case for pulling it all down and rebuilding. The result is Keystone, built by designers and developers together. Developers now build UI far more accurately, designing new solutions takes around a fifth of the time, and we fit more into every release.
Where it started
The state of design was the worst I’ve seen. There was no single source for anything, so designers copied and pasted assets from previous flows, and each copy drifted a little further from the last. Every component existed in several versions. The dialog box had 27.
The first job was just consistency, so we built a lightweight system to ground the design work. It grew from there. Templating came out of it, and for a while it solved the problem.
When the foundations gave way
The dashboard redesign, and the wider redesign that followed, needed much more than that first system could give. We had to think about scale, about the experience across the whole product, and about reusable UI as a system instead of a set of parts.
By then, technical and design debt had built up to the point where it was almost impossible to add new functionality without breaking something we already had. Patching it wasn’t going to work, so I argued for pulling the whole thing down and rebuilding.
Making the case
The business was already worried about the debt, about how to scale the product, about the accuracy we lost between design and development, and about how to produce more without building huge teams. On top of that, we’d been set an ambitious revenue target. A new design system was the part of the answer I could control. More output meant releasing quicker and more cheaply, which meant more value for customers, which wins new customers or lets us charge more.
Getting agreement meant convincing almost everyone: the developers, their team leads, the Engineering Manager, the Head of Engineering and the Chief Engineering Officer, QA, the regression testing lead and their head of department, the Head of Analysis, the Director of Solutions, our wider stakeholders and the CEO. I didn’t pitch a design system for design’s sake. With each group I talked about how it would help them, the business and our customers.
Even with good results, I still find myself restating what we’re trying to solve. Some of that is fear, because nothing like this had been done here before, and some is the resistance to change that runs deep in insurance.
Building it with engineering
Two designers from my team worked on the system full time, and once engineering was on board, two developers joined them. I ran the process at the start, then brought in a lead designer to take it over. The project was getting more complex, and it needed someone to own the design side day to day, stay aligned with the developers, and support a full refactor of the application’s code so the components could be used properly.
We wanted tokens and naming conventions that meant the same thing to designers and developers. But we couldn’t agree those in the abstract. We had to build some of it first and make decisions as we went. When the developers joined, there was a messy period while both sides realigned and learned how the other worked.
Since Keystone
Developers now build UI far more accurately, and UI-heavy projects run with very little friction because the components behave as intended. Designing new solutions takes around a fifth of the time it used to.
Release speed hasn’t changed, and I don’t expect it to soon. Releases at Whitespace are big, controlled events, and a lot of effort goes into telling customers what’s coming. What has changed is how much we can do within that rhythm. We fit more into each release, and we can start on work planned for releases further out.
I’d have built Keystone sooner, and pushed for the redesign sooner, because both would have been easier while the product and the business were smaller. The appetite wasn’t there back then, though. Insurance moves slowly, and I’ve been impatient at times. But decisions made here are still felt two, three or four years later, and they take twice as long to fix, which is a big part of why design matters so much in this industry.