there hasn’t been a better time to work in design systems

There was always one major downside to design systems — the cost of change: adopting the system, migrating products onto it, modifying things once they were there, and keeping design and code in sync. The more successful a system became, the harder it became to touch. 

Fortunately, that cost is disappearing.

the cost of adoption

Let’s start on one end of the spectrum: initial design system adoption. There are many friction points to increasing it, but I’d like to focus on the technical one.

A few years ago, migrating a product onto a design system would have been tedious, manual, boring work. As a designer, parts of it might have also been outside your control. For example, I always felt comfortable updating foundations and some low-risk components. But for something like a tree or a data table, I’d have wanted to pair with an engineer to handle more functional work while I focused on the UI.

If you have an engineer, great. But often you don’t, and design system migrations are rarely a priority compared to building features. And frankly, that’s boring work for the engineers too.

Now, however, it’s a totally different game. With agents, a designer alone can do tons of migrations quickly and handle a lot of the risky stuff. Of course, everything should still be checked and you might still need an engineer’s help here and there, but it’s incomparable.

the cost of success

Eventually though, if you’re successful, you run into the exact opposite problem.

Let’s say you have pretty high adoption. Congrats! But that’s when there’s way more on the line and when process (ughhh) starts to creep in.

Adding to the system can be tricky but pretty painless. Modifying something starts to hurt. Deleting something is nearly impossible. So you end up with lots of process for handling even the simplest of changes, and eventually managing the risk creates more trouble than the change is worth. And since deleting things is so risky, you probably don’t, and end up with a bloated system full of legacy things.

A system, something that was meant to be lean and elegant, turns into a hoarder’s closet.

I’ll admit this is one of the reasons why I thought about leaving design systems work. I found that it can become the opposite of what I so loved about it, and I started to wonder if it was worth it.

Now that problem feels almost solved. You can modify and delete all you want. You’re still breaking things, but the cost of tightening everything back up is so much lower. The best part is that I don’t have to handle every migration myself or write a sorry message to someone else: “hey we deleted this, it’s a breaking change lmk if i can help with migration :peek-face:”. The agent will just do it and they don’t care and it’s great.

I do have to pause here and acknowledge that the work environment matters too. At Webflow, I feel very free to just do things, which makes all of this significantly easier. The tools give me a lot more agency, but I’m also lucky to be somewhere that lets me actually use it.

do we need two systems?

Then there’s another obvious systems problem we’ve been conveniently ignoring: why are we maintaining the same system twice?

Figma has been an unbelievable partner in the past few years, especially for design systems work. Figma launched my career, and I’ll forever be grateful for that. But the obvious problem still stands: duplication.

You have to maintain two libraries, in Figma and in code. Duplication is a sin when it comes to systems and we’ve been sinning because there was no viable alternative.

Right now, however, I see a few options going forward.

The first one is bypassing Figma altogether, at least when it comes to component libraries. At Webflow, for example, we’re building Source and our new design system, Blueprint, entirely in code, only using Figma sometimes for visual details and importing the actual UI into Figma as needed, instead of maintaining a formal component library.

This might be a mistake and I might be building the component library very soon, so I’ll check back in on that.

And in case we do need to keep sinning with this duplication, things are still looking better. First, props to Figma and Code Connect and MCP and all the things they’ve been doing to create a stronger link between the two libraries. Second, the cost of duplication is not zero but is significantly less than before — from checking discrepancies to updating components to building entire libraries.

The third option, which would of course be my preferred one, is that we get to a point where we can do precise visual finesse directly with the real thing, the actual product. Someone please make it happen.

and then there’s delight

So far, I’ve focused on reducing manual and tedious work. But there’s something else that makes me jump out of bed in the morning (aside from my cat Archie meowing for his food).

And that is delight.

We can now do things that we didn’t have time for before! That were always in the backlog!! Or that weren’t even in the backlog because everyone knew we’d never get to them!!!

And by things, I mean extreme visual polish, animation, and just taking things beyond “works for now.”

So now, if it takes me two hours to do something that took me two days before, then hell yeah I’m going to give myself another two hours to think about how this can be better instead of moving on to something else.

There’s a caveat to this, though. I feel like the huge increase in productivity has led to this assumption of “well, we can now 2x our quantity,” and very rarely do I hear the same about quality.

So sometimes I just have to remind myself that I should stop doing many things and instead give the newfound time to doing one thing extra well.

full circle 

I remember when I first discovered the world of design systems, nothing had ever felt more like me. So freeing, so beautiful when it works. The promised scale.

And then reality hit with all of the above, but it was still worth it, most of the time.

But now… if someone told me back in 2018 what we’d have now, I’d have been ecstatic. Pretty much like I am now.

That isn’t to say that these new powers didn’t come with new troubles. Maybe I’ll write about those troubles once I gather my thoughts. Even with those troubles, I believe the benefits still outweigh them, so worry not, we’re not ending this on a sad note :)