It's been 17 years since Jason Fried wrote about why they don't use Photoshop.[1] Fat markers instead of pixels. Staying rough. Not committing too early.
They decided not to use it. They decided what worked for them.
The power was in the deciding.
I came up in web 1.0. Personal blogs, landing pages, Flash. It wasn't for everyone, but it was expressive. You made decisions.
Web 2.0 changed everything. Flickr, Twitter, Tumblr - gold for the age. Expression was still there, before attention machines took over.
And then, year after year, we lost decisions.
| We chose... | Then | |
|---|---|---|
| who to follow | algorithms did | |
| when to read | notifications did | |
| how to interact | engagement patterns did |
Meanwhile, designers held on. Where to break the grid. How to fake rounded corners with nine-image hacks. Whether the nav belonged on the left. The decisions were ours.
Now look around.
If you're into design these days, you design for compliance. You design for DX, not UX. Design tokens are the talk. And design almost disappears. Policies make decisions. Identity is replaced overnight - ask X.
Defensive design used to defend users from bad experiences.[2] Now it defends companies from users.
Your components sit lonely in their repositories. Every state documented. Every variation accounted for. An LLM can make "better" decisions than you - it knows which component fits. Developers know which performs better. Your decisions are downstream of their hierarchies.
Consistency is prison. #
Tailwind carries most of the visual language on the web now. It's almost a public good - like TfL signage,[3] a shared language everyone navigates by. Sometimes it's nice - one experience matches another, you feel home when you switch to a competitor.
But also: sameness. Everywhere.
Design has fallen behind. Not just behind developers - behind entire hierarchies. Architects, engineers, pipelines. Specialization in every angle.
And your components? They "pass the tests" while integrating. That's what they're for now.
HTML and CSS was expressive, thoughtful. The frameworks that followed were born from intent - React emerged when Facebook admitted the web couldn't keep up with mobile.[4] But the polyfill became the prison. Now if you want to learn, you navigate npm hell - or spit out the same dish from v0.
But there's a slightly open window. #
Figma now has a place for "intent." You explain your components. In service of an MCP server picking it up.[5]
And you shut up.
They gave designers a textarea. But not for good reasons. It's one-way. You write, machine consumes. Compliance dressed as collaboration.

Fast, yes. But at what cost?
In his talk,[6] Cam asked: is speed always worth it? 12 minutes with the design system. 2 hours without. It met the brief. But his colleague's slow version had new ideas - a profile switcher, improved actions, better emphasis. Richness. Composition. A story.
So why do we I skip Figma? #
Because the prototype is the code now. The fidelity gap collapsed.
But also - we're losing something. The sketch. The rough. The "not yet decided."
When code is cheap, do we lose permission to be uncertain?
Here's what I've found.
I spent 3 hours chatting with an LLM. Code was generated in under an hour. But the decisions? They happened in dialogue. Not chat - dialogos. The kind where something shows up that neither of us controls, and we follow it.[7] Not artifacts fixed forever. I asked it to read spec-kit's manifest. It wasn't the apparatus that landed[8] - it was the intent, which drove the machine. We shaped the idea together. Code came after.
This wasn't a textarea. It was two-way. Back and forth. I was still in it.
Another experiment: a multi-step self-assessment. Gave Opus a link to GOV.UK's "Complete multiple tasks" page.[9] It mapped the flow, purely from the well-thought pattern. When, what, how.
No code.
Not easily, though. The tools have dark patterns - sycophancy, agreement for agreement's sake. Breaking through takes investment. Context engineering. Metaprompting.[10] The same instinct that once hacked 3x3 tables for rounded corners now hacks context windows for genuine dialogue.
The tools will grow. They always do.
The dialogue is the sketch now. The permission to be uncertain lives in conversation.
But only if we defend it.
Defend the use.[11] Like once, when design defended users. Now it defends meaning: fixed, documented, consumed. Defend the use qualities instead - pliability, rhythm, the feel of it.[12] Those live in dialogue.
Without it, your 41 shades of blue flatten to bg-indigo-500.[13]
Published 25 Dec 2025
Jason Fried, "Why we skip Photoshop" - Signal v. Noise (2007). signalvnoise.com ↩︎
37signals, Defensive Design for the Web: How to Improve Error Messages, Help, Forms, and Other Crisis Points (2004). ↩︎
TfL Design Standards - a public design system that actually serves the public. tfl.gov.uk ↩︎
Zuckerberg, 2012: "Our biggest mistake was betting too much on HTML5." React emerged from this crisis. See React.js: The Documentary (Honeypot, 2023). youtube.com ↩︎
"Add instructions for MCP" - Figma's Code Connect UI. help.figma.com ↩︎
Cam Worboys, "The Cost of Consistency" - Figma Config 2024. youtube.com ↩︎
"A dialogue in which it takes on a life of its own and the logos shows up and we're both following it and we don't know where it's going to go." - John Vervaeke on noesis and perspectival knowing. youtube.com ↩︎
GitHub's spec-kit: CLI, slash commands, formal PRDs, contracts, test scenarios. Birgitta Böckeler asks if we're repeating model-driven development mistakes from the 2000s. github.com | martinfowler.com ↩︎
"Help users to complete multiple tasks" - GOV.UK Design System. design-system.service.gov.uk ↩︎
"Use AI to use AI. PowerPoint can't teach you PowerPoint. AI can teach you how to use itself if you think to ask." - Jeremy Utley, Stanford. youtube.com | youtube.com ↩︎
"Don't ask for the meaning; ask for the use." - Ludwig Wittgenstein, Philosophical Investigations (1953). ↩︎
Jonas Löwgren, "The Use Qualities of Digital Designs" (2002). Properties experienced in use, not documented in specs. lowgren.info ↩︎
"I'd like to formally apologize for making every button in Tailwind UI
bg-indigo-500five years ago, leading to every AI generated UI on earth also being indigo." - Adam Wathan. x.com ↩︎
🙏🙏🙏
Since you've made it this far, sharing this article on your favorite social media network would be highly appreciated 💖! For feedback, please ping me on Twitter.