A little hard to explain without seeing all the details, but Meso has a Lispy code-as-data step in it, which is what allows it to get better at breadboarding each time I drive it from the agent. It rewrites a certain part of itself to improve its renderer. So there are challenges to figuring out what a deployed version looks like.
Working on a side project with Amp. But the first version that came back was too far from what I wanted. So I shifted to a breadboard view and iterated from there. Like moving up to higher altitude. Here's a timelapse of 24 revisions. In the end, pushed the new plan to Amp.
This corresponds to what Taguchi called system design vs. parameter design. When the wider system isn't right, I can't whack-a-mole my way to a better one. Need to step back and do whiteboard work at high altitude. Then after the system is closer, I can tune the million dials to get it more exactly where I want it.
Did the first draft with CC + Meso (the app on the right). That generated the shape and plan.
Pushed the docs to a repo.
Opened the repo in Amp. Asked it to build. It asked me a few questions, revised the plan, and built it.
Clicked around on the resulting build in Amp. Realized it was too far away from what I wanted in too many ways.
Pulled the repo back to CC + Meso. Did the iterating you see above. Got to a point where the breadboard more concretely described what I wanted. CC revised the plan the whole time as it generated each breadboard.
Pushed the revised plan + shape back to the repo. Asked Amp to pull and one-shot it.
Now I'm clicking around in the Amp portal and the core UI flows are more 80% what was in my head. Now I'm able to see the more "local" problems / changes I want to make all over it.
Echoes of Lisp here. With agent-generated code, the code is data. So we can do things like have deterministic paths that are themselves rewritten by feedback loops.
@marchattonhere I found that skills and prompts alone aren't consistent enough -- the agent will make up a new or slightly different way to do it each time.
So I built an app the agent uses to express the breadboards in a fixed language, with a fixed set of components, in a deterministic renderer.
Then there's a feedback loop where the agent rewrites the components it's using in that language, to do things we didn't think of before or to follow corrections.
@marchattonhere I found that skills and prompts alone aren't consistent enough -- the agent will make up a new or slightly different way to do it each time.
So I built an app the agent uses to express the breadboards in a fixed language, with a fixed set of components, in a deterministic renderer.
Then there's a feedback loop where the agent rewrites the components it's using in that language, to do things we didn't think of before or to follow corrections.
"Interface" is such a powerful word because you can use it talking about software or you can use it talking about a value chain. And the meaning doesn't change.
@neejkapoor I fussed with so many AI-driven diagramming tools, and in the end, Claude Code does a better job inventing diagrams from scratch given clear guidelines for the look and behavior I want. I'm learning to lean into that.
I've been talking a bit about CAD for product design. Here's an example of what I'm talking about. This is from a client project. First we worked on a whiteboard to get to a concept for the project. It's a mix of wireframes and pasted screenshots ...
@neejkapoor No, it's their comments feature.
I tried to somehow integrate AI with TLDraw a few times in the past. Came to the conclusion that TLDraw's unique strength is actually how extraordinarily good the human interface is. So I rely on it for that -- when I want to draw something myself -- and use other tools for generating diagrams.
I always intended Stratechery to have a sponsorship component; it just took me 12 years to get back to it. That I could do so with the company that made the subscription business possible makes me so happy. There is nothing better than endorsing a product you whole-heartedly believe in.