Behind the Build
There’s a version of this story where everything worked the first time.
We had the idea, built the system, connected the pieces, and it all just clicked.
That version does not exist.
The original problem
It started with something that felt obvious in hindsight.
Why does building a product feel like repeating yourself?
You outline an idea.
You explain it to a system.
Then you rebuild it properly.
Somewhere in between, the original intent gets diluted.
Not because the tools are bad, but because they are disconnected.
That gap became the problem we wanted to solve.
The first version (looked great, worked… less great)
The early approach was simple.
Focus on generation.
If the system could generate good UI, everything else would follow.
And at first glance, it worked.
The outputs looked clean. Fast. Impressive.
Until we tried to actually use them.
- Small edits meant going back to generation
- Layouts looked right but felt rigid
- Moving forward often meant starting again
It solved the first step, not the full journey.
Rethinking the approach
The shift happened when we stopped thinking about output, and started thinking about workflow.
People don’t build in one step.
They iterate. Adjust. Change direction. Refine constantly.
So instead of asking, “how do we generate better,” we asked:
“How do we let people continue without starting over?”
That question shaped everything that followed.
Canvas and Editor
The system naturally evolved into two parts.
**Canvas** became the space for fast thinking.
Loose ideas, sketches, early exploration.
**Editor** became the space for building.
Refinement, structure, actual product development.
The challenge was not creating both.
It was making them feel like one continuous experience.
No resets.
No broken handoffs.
No loss of context.
Simple in theory. Difficult in practice.
The uncomfortable middle
There was a stage where everything technically worked.
But using it felt… off.
Canvas could generate.
Editor could build.
But moving between them felt like switching contexts instead of continuing work.
It was functional, but not fluid.
That distinction mattered more than we expected.
Fixing what people feel, not just what works
We spent a lot of time on things that are hard to explain but easy to notice when wrong.
- Spacing that felt slightly unnatural
- Layouts that looked repetitive after a few generations
- Hierarchies that were technically correct but visually weak
None of these break the product.
But together, they break the experience.
So we focused there.
Quiet improvements that make things feel more usable without drawing attention to themselves.
Teaching intent, not just input
One subtle but important problem was understanding user intent.
If someone uploads an image, what do they mean?
Do they want the exact asset used, or just the style?
Getting that wrong creates friction instantly.
So we improved how the system interprets inputs, not just processes them.
It’s a small shift, but it changes outcomes significantly.
Building for reality
Things fail.
Models don’t respond.
Outputs break.
Structures don’t always translate cleanly into builds.
Instead of assuming everything would work, we designed for recovery.
Retry when possible.
Fallback when needed.
Repair before building.
The goal was not perfection.
It was continuity.
Reducing friction across the flow
A lot of progress came from removing small barriers.
You can now edit directly instead of regenerating.
You can use voice instead of typing everything.
You can ask questions inside the Editor without triggering full actions.
You can attach files instead of describing them.
Each change is minor in isolation.
Together, they make the system feel lighter.
Where things stand now
Today, the experience is closer to what we set out to build.
You can start with an idea in Canvas.
Turn it into structured pages.
Move into the Editor and continue building.
Without restarting.
Without losing progress.
It is not perfect.
But it is consistent, usable, and aligned with how people actually work.
What we are still building toward
The ambition remains the same.
To make building a product feel as natural as thinking about one.
Not a sequence of steps.
Not a collection of tools.
Just a continuous flow.
We are not fully there yet.
But we are no longer fighting the process.
And for now, that feels like meaningful progress.