Writing
Notes on the craft and practice of product design.
-
How to decide between design patterns and novel solutions
Knowing when to use a familiar pattern and when to build something new isn't instinct. It's a decision that requires research, context, and a few honest questions.
Read essay → -
What LEGO taught me about modular design systems
The best design system I’ve ever seen wasn’t built in Figma. It's been shipping consistent, connected, interoperable components for over 60 years.
Read essay → -
How to build a design system that scales across cultures
The first time I shipped a product in 7 languages, I thought we were prepared. We had a solid design system. Clean components. Good documentation. Then German happened. Followed closely by French and Spanish. Strings were truncating across the UI in ways we hadn't caught in QA.
Read essay → -
Why accessibility testing with real users changed how I design
Usability testing with disabled users broke every assumption I had. Not in a dramatic way. In the quiet, embarrassing way where you watch someone struggle with something you were proud of and realize you built it for yourself. I had done the checklists. Color contrast, touch targets, focus order. The design-side audit came back clean. I genuinely thought we were in good shape.
Read essay → -
My actual process for designing a complex navigation system
Many navigation redesigns start with a sitemap and end with arguments about labels. Here’s what I do instead.
Read essay → -
How I give feedback without crushing someone’s confidence
Early in my career, I watched a senior designer tear apart a junior’s work in a critique. Technically, everything she said was correct. The hierarchy was off. The spacing was inconsistent. The interaction pattern didn’t hold up under edge cases. But she said it in front of the team, with no context nor curiosity about the designer’s intent. It was just a list of everything wrong. The junior designer never fully recovered.
Read essay → -
The internationalization mistakes that don’t show up until launch day
We tested everything. The strings fit. The layout looked clean. QA signed off. Then we shipped in 7 languages, and the problems started showing up in places no one had thought to look. Some internationalization failures are obvious in development. The ones that really hurt you are the ones that pass every internal review and break in production. Here are the patterns I've seen over and over.
Read essay → -
Accessibility as a foundational principle
Accessibility often gets treated like a checkbox. Something you bolt on at the end of a project, right before launch, when everyone's rushing to get committed features out the door. But you can't bolt on a foundation. You build on one.
Read essay → -
What “0 to 1” design actually means
There's a phrase that gets thrown around in product and design circles: "0 to 1." But in practice, most 0 to 1 teams are hard to distinguish from teams who have been iterating on an existing product for years. These teams treat 0 to 1 like any other design challenge, and that's where things go sideways.
Read essay →