Structured imagination
For many years, I have thought about design almost as an exercise in structured imagination. Designers are good at visualizing complete systems in our heads: how a user enters, what decisions they make, which screens appear next, and how the small details connect to one another. We can mentally walk through the whole product before it exists. Then we draw it. Screens in Figma. Flows. Components. Microinteractions. But that is often where it stops. It is a bit like designing a lamp: you make the perfect plans, understand how it should work, and even know how it should feel when someone uses it, but you never build it. The construction always depends on somebody else. For a long time in software, that person was the engineer.
Engineers as gatekeepers
In practice, designers were limited by something very simple: we did not know how to code. We could imagine complete products, but for those products to exist we still needed someone else to write the code. That created a very familiar dynamic. The designer proposes something. The engineer responds with constraints. "That will take too many hours." "That is too complex." "That is not an MVP." Over time, many designers internalized that limit. We started designing around what would be possible to build, not necessarily around what should exist. But something started to change.
A new entry point: coding with language
Recently I have been very active in the design community on X, and I started noticing something interesting: many designers were beginning to build real products. Not prototypes. Products. Apps. Tools. Games. All of it enabled by a new way of programming: programming with language. You no longer need to master a traditional programming language before you can start. You can describe what you want to build in English, and tools like Codex or ChatGPT can generate the code required to make it real. That made me deeply curious. After more than ten years designing digital products, I realized something simple: I had never actually built one myself from scratch. So I decided to try. The challenge was straightforward: build an iOS app and publish it on the App Store.
The first idea: something very small
My initial mindset was the same as always: start with something extremely simple. I imagined a minimal app: a widget on the home screen where each day the user sees a tiny word search they can solve. Nothing else. I wanted to keep it small because, for years, I had internalized the same message: "Do not make it too complex. That will take forever." But then something unexpected happened.
When the limit disappears
As I kept working with Codex and Xcode, I started noticing something strange. Every time I wanted to add something new, I could simply ask for it. And it appeared. New screens. Game logic. Board management. Animations. Internationalization. Then I started thinking: what if we add this too? And then: what if we also do this other thing? Little by little, what was supposed to be a tiny widget turned into a complete app. I did not stop adding things because they were too hard to build. I stopped adding things because they were no longer necessary. That mental shift is enormous.
The app is not just code
The most curious part is that not only the code was generated with AI. Almost the entire project was. I generated the app logo and brand with Stitch and Nanobanana. I built the word repository and the game database with ChatGPT. I also used AI for translations into different languages. In other words, the whole creative process, design, content, structure, and implementation, happened inside this new ecosystem of generative tools. And suddenly something happened that I had never experienced before as a designer. The idea in my head ended up becoming exactly the product that exists. No intermediate translation. No losses along the way.
The new skill: knowing how to ask
If the key skill used to be knowing how to code, now another one is starting to emerge. Knowing how to ask well. Writing strong prompts. Explaining clearly what you want the system to build. But even here something interesting happens: you can also ask AI to help improve your own prompts. It becomes a kind of amplification loop. The tool improves your ability to use the tool.
A role shift for designers
For a long time, the designer was someone who defined the product, but could not build it. Today that boundary is starting to disappear. That does not mean engineers stop being important. Complex systems will still need deep engineering. But for a huge number of digital products, the cost of building has dropped radically. And that means designers can go back to doing something they have always wanted to do: imagine something and make it real.
The most surprising feeling
The most powerful part of all this is not only that I published an app. It is the feeling of autonomy. Today there is an application on the App Store that I designed and built myself, from the first idea to the final product. And for someone who spent more than a decade designing things that other people built, that feels kind of incredible. It feels like we are entering a completely new era. One in which the distance between imagining and creating has never been so small.