Code to canvas, and back again

For twenty years, design and code lived on opposite sides of a wall. You designed in one tool, handed off a file, and someone built it somewhere else. The handoff was where quality went to die. What you drew was a suggestion, and what shipped was an interpretation, and the gap between them was the reason so many good designs ended up mediocre in production.

That wall is gone now, and most people have not noticed yet.

With AI tools, I can move an idea from a rough sketch to a working, interactive build in an afternoon. I can generate three real directions instead of describing one. I can put something clickable in front of a client before the meeting where we used to still be arguing about wireframes. The distance between idea and prototype collapsed, and that changes what design even is.

But here is the part people get wrong. The new workflow is not “design in AI.” It is knowing when to be in the canvas and when to be in the code, and how to move work between them without losing what matters.

Some things you have to see to judge. Spacing, rhythm, hierarchy, the feel of a screen. For those I want a canvas, a real design surface, hand control, because taste is a visual decision and no prompt makes it for you. Other things you have to build to judge. Does this interaction feel right under your thumb. Does the layout hold when the content is real instead of placeholder. For those I want a live build, generated fast, so I can feel it instead of imagining it.

The skill is not mastering any one tool. The tools change every few months, and the studio that bets on a single one is going to be wrong soon. The skill is fluency across the whole path: sketch, canvas, AI generation, real code, and back to canvas when the build reveals something the design missed. Work should flow to whichever medium answers the question in front of you, and a good designer now is someone who knows which medium that is.

There is a temptation to let the generation do the deciding, to accept the first thing the model produces because it looks finished. That is the trap. AI is astonishing at exploration and quick fidelity. It has no taste. It does not know that the thing it made is technically fine and completely soulless. That judgment is still yours, and it is more valuable now, not less, because everyone has access to the same generators and the only differentiator left is the eye pointing them.

I came up in design before I learned to build, and for years those felt like two careers. Now they are one motion. I design a thing, I build it to test it, the build teaches me something, I take it back to the design. Canvas to code to canvas, as many times as the work needs, with AI compressing each loop.

The wall between design and code was never supposed to be there. It existed because our tools forced a handoff. The tools stopped forcing it. What is left is the interesting part: taste, judgment, and knowing where to point them.

Have any thoughts? Send me a message >

All thoughts