How I Design with AI
TL;DR
Matt Dailey, founder of Ref, argues that AI-generated product design looks the same everywhere. He blames agents that pile on extra elements, and teams that spot-fix complaints one at a time. His fix is to write down the design constraints first and cut whatever the agent adds that isn't needed. He then iterates on several variants in a real design tool before touching the codebase.
The article
- Dailey borrows from Christopher Alexander's Notes on the Synthesis of Form. Design means listing constraints and finding solutions that meet them. Whenever a constraint must be added or dropped, you go back to the list.
- Skipping that loop leads to 'wackamole design', a patchwork of spot fixes. AI makes it worse by inviting prompts like 'make X more prominent'. Ref logs small papercuts in a document and fixes them together at the next redesign.
- Agents add extra copy, lines and icons to UIs. They do the same in code, with redundant try-catch blocks. So the designer's job is to ask of every element whether it is needed.
- Dailey warns against 'prototype gravity'. Once an agent builds the first version inside the codebase, polishing it feels easier than exploring alternatives. He iterates in Figma or similar design tools. He has AI produce 3 to 4 variants of everything.
- Ref has agents build each component on a /showcase page before wiring it into the app. Ref also splits frontend and backend PRs. That way every frontend PR gets a preview deploy for checking against real data.
- Engineers can tell when a design fails but lack a library of fixes. Dailey recommends collecting screenshots of products that solve similar problems. He also recommends building taste through repeated critique.
Why it matters
Worth a read for engineers without a designer who ship AI-generated UI. The post includes screenshots of Ref's sidebar, its /showcase page and the reference boards it collects, which show the process better than the summary can.
The discussion
A small, friendly thread. Most comments either agreed that agents add clutter, or asked how to get Claude Design past the same generic look. People swapped resources in reply.
Escaping the generic AI look
Several readers said their AI-designed sites all look alike and put people off. Replies pointed to style resources like impeccable.style and getdesign.md. Others suggested picking colors and fonts by hand after stripping a design to essentials, or paying a designer for a design system Claude must follow. One reply noted Dailey's process assumes design experience that beginners lack.
I paid an actual designer to come up with a design system for my project, which I then made Claude follow. Works like a charm.
When you end up creating something try to strip away all the bloat and only use the essentials (nav bars/menus) and then iterate on that with fonts that you like or pleasing colorschemes.
Agents add too much everywhere
The 'remove stuff' section drew the most agreement. Commenters said the habit shows up well beyond UI. In architecture it means needless guards and edge-case handling, and in writing it means extra caveats.
They'll do this for technical architecture, adding unnecessary guards, complexity to cover irrelevant edge cases. They'll do this for writing too, unnecessary caveats, clarifications, etc.
Design tools don't round-trip
One commenter said AI design tools copy Figma's JSON model without rendering it to real HTML and CSS. Instead, the MCP guesses what the JSON will be, and the guess is never perfect. No tool lets you edit the rendered result and sync it back to code or to Figma.
Instead, the MCP imagines what the JSON will be, and it is never perfect.
Constraints and prior art
One reader liked that the post treats constraints as things you only add or remove, never modify, unlike non-functional requirements. Another called the whole method design thinking with AI and extra steps.
Constraints are something you cannot change (and AI should abide to it).
Consensus
Agents pad their output with things nobody asked for. Left alone, they produce designs that look the same. Some human input has to steer them, whether taste, references or a real design system.
Dissent
One commenter saw nothing new in the post beyond repackaged design thinking. Another said its process is too bespoke for people with no design background.