Not only is today my birthday but it also marks the launch of the Gusto brand refresh: we’ve shipped a new website and we’ve redesigned the Gusto web app experience that lets hundreds of thousands of companies run payroll each month.
I reckon all this work has led to something...outstanding. Screenshots of the UI don’t really do the work justice though as it’s only when you open up the app and use it that you’ll feel things are significantly faster and much easier to read. And in complete earnestness I think this is the best project I’ve ever worked on.
I didn’t play a role in the design of the brand itself (so the logo, the illustrations, the typographic choices like which typefaces we use now) and so I can only compliment our wonderful Brand Studio team for all those decisions. My work was instead focused on the design system of the project where our team refactored hundreds of components and thousands of pages in our web application to ensure that we have an accessible, consistent, and easy to read interface. And to say that it was a lot of work is an understatement to say the least.
Over the coming months I’ll start to write up my thoughts about what I learned along the way (I think maybe I have an idea for a Big Printed Thing) but the funny thing about this rebrand is that although it started a year ago I was really the first person to focus on it. And that’s because as soon as I joined Gusto I dove into refactoring our enormous and overwhelming front-end codebase, removing old components, and cleaning things up – all in service of a day like today. Because you can’t have a good web app or a consistent brand experience without a consistent front-end codebase.
When you’re writing CSS or designing React components you have to ask yourself the most important question of them all: What if...?
What if we changed our fonts tomorrow? What if we changed all our colors? What if we added themes? What if we changed our logo? What if we wanted better checkboxes, radios, buttons? What if we wanted more white space, better hierarchy? What if we wanted this link to look like a button but act like a link? What if we’re horribly, horribly wrong about all this?
It’s questions like these have led me to be obsessed with refactoring and so although this looks like a three month project, it’s really been three whole years of my life.
This isn’t to say that I was the only person working on this, or the only person that should get credit. Brad Azevedo has been a mentor and co-conspirator of mine for the past couple of months and we’ve been working together like detectives. If it it wasn’t for him joining the Design Systems team this project wouldn’t have been even remotely possible.
Anyway, we’re proud of the work we’ve shipped today but it’s important to note that this is only the beginning. There are lots of areas of our product that frustrate and concern us, where we both feel that we fall significantly short of providing the best user experience possible. Our Design System and front-end is nowhere near perfect and we have a number of enormous refactoring projects on the horizon soon.
To get us through this immense project, and to help boost our morale when we became particularly frustrated with something, we would constantly remind ourselves that all we had to do today was make the UI 1% better.
Back in March when this project was heating up I wrote that:
Here’s an opinion without any facts or evidence: I only care about making the design system 1% better every day. If that means deleting a bit of code that doesn’t have any impact whatsoever then that’s okay. If it means changing the font weight of this one component to be slightly more legible then that’s okay too. So long as every day there’s an improvement of some kind.
You might argue that all these 1% changes are distractions from much larger projects that might have an enormous impact.
My argument would be that those massive, revolutionary projects will never happen. Instead it’s best to slowly move towards where we want to, step by step, so that we gather momentum over time.
1% today is better than 50% tomorrow or some distant and impossible far-flung future.
We’ve found this mantra to be helpful as design systems work can be so impossibly stressful and difficult to scope. Everything can be on fire at the same time but you’re only one person – you can’t fix every issue today. And I guess what this means is that today I’m more convinced than ever that our approach is the right way to deal with design systems work – not having great big plans for a utopian vision of the world but instead focusing on tiny improvements every single day.
Because all those tiny things add up to something beautiful, as the new redesigned Gusto experience shows. And thanks to all those improvements of 1%, today is not a day of success, but the success of many days.