Around 2012 and 2013, knowing how to operate the tools stopped being enough to hold a job on the web. You had to be able to build. The AI shift feels like that again, only faster. What I saw then, what's different now, and what I'd do about it.
Careers · AI · Front-end · Leadership6 min read
I rebuilt mg.design as an interactive terminal. You type commands, it answers. Here's why a hard constraint like "it's a terminal" made the design easier, not harder, and what it takes to make a fake shell feel real in the browser.
Front-end · Next.js · Prototyping5 min read
For the Midwest site I wanted something dark, quiet and credible. The whole visual system fits in ten colour tokens and a short list of rules. Here's why a small palette and a few hard rules beat a big design system for a brand like this.
Design systems · Front-end5 min read
The clinical data pipeline I've been building shows records to four very different kinds of user. Instead of four tables, there's one pattern: server-side pagination, state in the URL and a single scoping rule applied on the server. Here's how it fits together.
React · State management · Healthcare · Front-end5 min read
Moving a React app from MUI to shadcn-style primitives sounds like a rewrite. It doesn't have to be. Here's the approach I set up: codemods for the boring parts, a thin layer of your own components, and a migration that ships one screen at a time.
Design systems · React · Front-end5 min read
Let the route's params pick the data, the state path and the form. In a form-heavy CMS or admin tool, a new screen becomes one route plus one field array, with no new endpoint and no new form code.
Forms · State management · Architecture · Front-end3 min read
For five years my job titles had both halves in them: Interaction Designer/Developer at Pandora, then Design Engineer at eBay. Here's what changes when the person who designs an interaction is also the person who builds it, and why I think the role matters more than its title suggests.
Design systems · Front-end · Careers7 min read