← Blog

Design is more than creation

Close-up of a building's frosted glass facade.

Photo by kimi lee.

To design is to make deliberate decisions about how something should work, how it should be experienced, and how it should respond to the conditions in which it will be used.

In the world of software, we say software has been “designed” when there is coherent intentionality behind it. When any element of what is being designed goes unaccounted for (intentionally or otherwise), we cannot say it was “well designed.”

These days, it’s becoming remarkably easy to make software. Even software that looks good and works reasonably well.

With AI tools like Claude, Cursor, and ChatGPT, nearly anyone can describe an interface, generate a working version of it, and continue prompting until the result feels right. Software which used to take weeks or months to design and engineer can sometimes be produced in an afternoon.

I think it’s an incredible time to be in the world of software design. But I worry many are conflating the speed of producing something with the quality of designing it.

Just because something looks designed doesn’t mean the decisions behind it were well considered.

Consider a building designed to withstand earthquakes. Its ability to stay standing after an earthquake isn’t something architects and engineers can simply add after construction. The possibility of an earthquake influences the building’s structure, materials, and how it needs to move under stress.

Or consider hardware designed for harsh environments. Exposure to water, extreme temperatures, or physical impact influences everything from the materials used to the shape of the enclosure. Apple’s approach to hardware is a great example of this point. The Apple Watch Ultra has a raised titanium enclosure designed to protect its display from impact. This isn’t simply an aesthetic choice, but rather a decision informed by the conditions in which the product must work.

In both cases, a building designed to hold up against earthquakes or hardware designed to survive rough situations, the conditions aren’t just tests the finished product must pass. They’re inputs that fundamentally shape the design.

Software design is no different.

When designing an interface, it’s easy to focus on ideal conditions like a particular screen size, familiar language, predictable content, and a user who can see and interact with everything exactly as intended. But what happens when a translated label ends up being rendered twice as long as the original language string? Or what about when someone increases their preferred text size? When a visualization encounters values far outside the expected range? When someone can’t use a mouse, information is missing, or an action fails?

These aren’t simply edge cases to fix after the design is finished. They’re conditions that can reveal what the design should have been in the first place.

I believe something that is “well designed” isn’t something that’s first made and then tested against reality. Reality is what helps determine what gets made in the first place.

This is where I think some enthusiasm for AI-generated interfaces risks missing a critical element of design. If I prompt a model to create a dashboard, it might produce something that looks fantastic, particularly if I have a well constructed design system and documentation to guide the work. The hierarchy might make sense, the spacing appear consistent, and the interactions appear to work. But what do I actually know about the design? What decisions did I make?

Do I know why information is organized the way it appears? Whether the interactions support the tasks people need to accomplish? Whether the interface can accommodate different languages, accessibility needs, or unpredictable content? Have I even considered those questions?

In this scenario, the model has made decisions on my behalf, whether I recognize them or not. Some decisions might be excellent, better than any I could make myself. Others might rest on assumptions that don’t apply to what is being built. And if I’m judging the result primarily by whether it looks right at-a-glance, I have little reason to question those assumptions.

This isn’t unique to AI. Software designers have always been capable of producing beautiful work without fully considering the consequences of their decisions. AI just makes it easier to arrive at something convincing before we’ve had to think through what makes it work (or not).

Of course, AI can also help us explore constraints, evaluate alternatives, and challenge assumptions. Someone thoughtfully using AI might produce better design work than someone spending weeks manually arranging pixels. The tool isn’t the distinction and neither is the time spent on a design.

The distinction is whether we’re deliberately shaping a solution around the conditions it must satisfy, or merely accepting a solution because we like how it turned out.

Making something faster is valuable. But producing a convincing interface quickly doesn’t tell us whether we’ve made the right decisions. It only tells us how quickly we’ve arrived at something convincing.

To say something has been well designed requires understanding the people, environments, limitations, and conditions the work must work within, then allowing that understanding to shape what gets created.

That’s part of what makes design a practice rather than simply an act of production. The work isn’t just making something that looks or feels right. It’s understanding what would make it effective, and what might prove us wrong.

Explore this next: Murmuration for growing design teams →