AI is making us build too much
AI has made code, tests, policy, documentation, and organisational machinery almost free to produce. It has not made any of them free to own.
AI has made code, tests, policy, documentation, and organisational machinery almost free to produce. It has not made any of them free to own.
Where quality lives, and how companies drain it from your products without a metric moving.
How I scaled Scribe’s design system to help serve over 6 million users.
Notes on the semantic layer of a design system.
Every detail asks for attention. Limiting how many we add is what gives us room to make the ones that remain better.
How agentic interfaces are changing what designers control, from interactions to agency, orchestration and attention.
Any recipe at a glance. Paste a recipe (or a URL) and get it back as a nested prep table. Ingredients as rows, steps as merged columns.
AI interface patterns for what comes next: the missing states designed, the missing features working.
Customers still like your product and keep renewing. Meanwhile, their expectations may be changing in ways your usual signals won’t reveal.
A practical framework for getting better results from AI tools. Four modes, dozens of scenarios, ready-to-use prompts.
Why software built for one is no longer an escape from scale, but its new starting point.
Stop AI from building the wrong interface. Help AI agents understand the user’s work, choose the right interface, and repair what does not fit.
We need to stop shipping the same form four different times.
Shared design components aren’t enough to ensure a seamless product experience. Can designers create consistency by embracing simplicity?
Inspect, annotate, and give feedback on any live interface. Share feedback with your agents and your team.
Every design system team is having the same conversation right now, and nobody can back it with numbers.
A remix of the 2011 Critical Engineering Manifesto for Design Engineers — guardrails for inhabiting the space between software design and eng.
Don’t build into dead ends: anticipate what happens next.
Treat a folder of markdown files as records in a database—the pattern behind Obsidian Bases, Notion-style workflows without lock-in, and more.