Why I started writing code

For most of my career, design ended at the handoff. I'd spend weeks in Figma getting the spacing right, the type scale dialled in, the interaction states considered, and then watch it come back in a pull request looking almost right. Not wrong, just not quite what I meant.

At some point I stopped complaining about it and started learning enough to fix it myself.

That shift, from designer who codes to something closer to an engineer who still thinks visually, turned out to change how I see everything. Not just implementation, but the design itself.

What changes when you can build it

When you know what something costs to build, you design differently. Not worse. Differently. You start making the tradeoffs deliberately instead of by accident. You stop speccing interactions that need three state management libraries, and start finding simpler solutions that feel just as good.

You also start to understand why engineers push back on certain things. Usually it's not stubbornness. It's that the design implies a component that doesn't exist yet, and building it is a week of work, and nobody scoped that week.

Knowing this makes you a better collaborator. And a more honest designer.

The design system as common language

The thing that clicked everything into place for me was design systems. A design system isn't a component library. It's a set of decisions that both sides of a product team can point to.

When a token like color.text.secondary exists in Figma and in code, the conversation changes. You're not arguing about whether the muted text is #8A8A8A or #888888. You're talking about intent.

// A token isn't just a value. It's a contract.
const tokens = {
  color: {
    text: {
      primary: "var(--fg)",
      secondary: "var(--muted)",
    },
  },
} as const;

That's where I live now: in the decisions that turn design into shared language.

On writing this down

I'm writing here partly to think out loud, and partly because I spent a long time looking for people who'd made the same transition and couldn't find many who wrote about it honestly. Most posts are either "learning to code is easy!" or a horror story.

The truth is slower and quieter than either of those. It's mostly just getting comfortable being a beginner again, which turns out to be good for you.