Why is AI bad at design?
Some things are best left to humans.
If there’s anything that AI is particularly good at, it’s writing code. The whole software engineering profession has been turned upside down as more and more code is written by agents, with humans supervising and reviewing. If LLMs have product-market fit in anything, it’s software engineering.
Yet if you’ve tried AI design tools like Figma Make, Claude Design and so on, you might be disappointed. No matter how much context you give it, AI tends to produce design work that looks plausible, but is very generic and on further inspection full of (obvious to us humans) flaws.
Having used AI design tools on a few projects recently, it left me wondering, “is it me or is AI just bad at design?”
Turns out that, no, it’s not just me. There are some fundamental technical reasons why AI is nowhere near as good at designing as it is at coding.
What you mean by ‘bad’?
If you haven’t tried these tools in anger, here’s one example from my iOS app, Pegs Out.
I recently added the ability to see why a particular day is good or bad for drying your laundry outside, based on the underlying weather conditions. It tells the story of the day in a style similar to a data journalism article from the FT, Economist, etc.
This is what Claude originally designed:


I’m sure you can see some issues...
- Charts don’t have titles so you don’t know what they’re showing you.
- There are no y-axis labels.
- What do the yellow shaded areas mean?
- What is the blue dotted line for?
- The headers “Air” and “Energy” are too abstract to understand.
- The data visualisation is flat and has no depth to it.
After a few rounds of iteration and feedback, we eventually arrived at the final design which you can try out in the app yourself:


Hopefully you’ll agree that this is not just clearer, but more visually appealing and inline with the rest of the app’s design.
You might argue that this is subjective, but that is exactly the point...
The root cause: code can be verified, but design can’t
The leap in AI coding ability over the last couple of years came from a specific training method: letting a model attempt a task many times and using an automatic grader to score every attempt. For code, that grader already exists. Does it compile? Do the tests pass? The answer is an unambiguous yes or no. It’s the same reason AI has become so good at games like chess and Go: in each case there’s a definitive right answer to train against.
Design has no equivalent correct answer. There’s no automatic test you can run for whether an interface feels trustworthy, expresses a brand or is beautiful. Design quality is subjective, dependent on context and culture, and often only knowable after real people have used the thing. You can’t compile it and see if it passes.
When you can’t grade something automatically, the fallback is to have humans rate outputs instead. For design, that’s slow, expensive and unreliable. The model "is not learning what is objectively correct; it is learning what people tend to prefer" and this varies enormously by context. Almost everything else that makes AI weak at design follows from this single problem.
Average is fine for code but not always what you want for design
LLMs work by predicting the most probable next thing. Left to their own devices, they gravitate towards the middle of everything they’ve seen. The training used to make them helpful and safe narrows this further, because human annotators tend to prefer outputs that look familiar. The result is a strong pull towards the average.
For code, landing in the safe, conventional middle with a boring-but-correct solution is usually fine. Sometimes average is acceptable for design as well. If you’re creating a payment screen in a banking app using an established design system, something that is average might be a good first draft. Here an expected pattern might be the right solution because being following conventions makes it easier to use.
The trouble comes when we want to design anything that is unique, creative or distinctive. For things like visual design, brand expression, or anything that’s meant to set a product apart, the average is not what we want. This is where AI’s pull towards the mean reduces its value to design the most.
There’s less design to learn from, and it’s harder to learn
As you probably know, LLMs are trained by feeding them enormous amounts of data. Code is one type of data that is both abundant and easy to learn from. GitHub, Stack Overflow and decades of open source mean there’s a huge amount of text-based, machine-readable training data. The largest open-source dataset of code (The Stack v2) contains 67.5TB of raw data covering over 600 programming languages across 3 billion files.
There is no such equivalent for data on design. The largest public dataset of real interface designs (Rico) only has 72,000 Android UI screens from 9,700 Android apps. Most high-quality design work is locked inside proprietary Figma and Sketch files that are inaccessible for training.
The scarcity of training data isn’t even the main problem though. The bigger issue is that design doesn’t translate well when being turned into training data. A good interface works because of things that are hard to capture in a screenshot: hierarchy, spacing, rhythm, the reasoning behind why one element sits above another. The model can see what an interface looks like but doesn’t know why it works. This is why AI tools feel like they are cargo culting design: they’re making stuff that looks plausible but there is no thinking behind it.
It’s designing blind
There’s another reason that AI-generated design work is often poor: when one of these tools generates a design, it usually can’t see what it’s making.
When you ask ChatGPT or Midjourney to generate an image, those models paint in a visual space and are always working with a version of the picture itself. They can ‘see’ what they produce.
But when we ask AI for an interface, it’s writing code, placing elements by their coordinates without ever seeing the end result. It’s effectively drawing with its eyes closed.
This is why AI is particularly bad at generating SVGs (vector graphics). You’re asking it to create precise geometry, exact coordinates and curve points, with no way to see the shape it’s describing, so the output is frequently distorted or wrong. Try asking AI to convert a PNG to an SVG and you’ll see what I mean:

Newer tools and workflows are starting to close this gap. They render the output, take a screenshot and feed it back so the model can look at what it produced and revise. This helps, but there are still two problems with it:
- The model’s vision is not very precise: it can’t see pixel-level differences. It’s like it’s short-sighted and isn’t wearing glasses.
- The thing doing the looking is the same model with the same missing sense of visual taste. So the loop catches obvious errors while still being unable to judge whether the result is any good.
Will this change or is there a fundamental limit?
Some of these limits will disappear as the models improve. The “it’s designing blind” problem will reduce as computer vision gets better and AI can check its work more easily.
But most of the reasons are structural. You cannot build an automatic grader for aesthetic taste, creativity, novelty, etc. because there is no correct answer to grade against. AI will improve but it’s always going to be limited in terms of what it can design for you. It will be fast and competent, but generic. Humans will always be needed to provide the differentiation, judgement and originality that make design actually good.
Understand its limits so you can understand how to get the best out of it
Of course, AI is bad at design is a generalisation in the same way as saying that AI is bad at anything. Just because it has limitations doesn’t mean we can’t use it to improve our design process.
The practical takeaway is this: don’t ask AI to do the design, get it to help you do parts of design. The key to using AI in any task is working out which steps should be done by humans and which by AI.
If you hand over the whole design process, you’re going to be disappointed for all of the reasons outlined above. Instead, if you understand AI’s limits, you can identify which parts it can genuinely help you with.
