I write about product design, vibecoding with AI, and building independent companies.
A structured archive on user experience, visual design, motion, and building agile software.
Welcome to the blog
Why I'm starting this blog, what you'll find here, and how I'll keep it from becoming yet another thing to maintain.
How to say no to a client (without losing them)
A short note about the only negotiation that matters: the one you have with yourself before you accept.
Motion isn't decoration
Three questions I ask before animating anything, and why motion is communication, not garnish.
Tokens first, components later
Why I reversed my process — and what I gained by designing the variables before the pixels.