How Zen Garden came to be
Built completely with Opus 5.5. 25 billion tokens later.
It all started about 2 weeks ago when Nalden shared gwern's essay on samon, the patterns raked into the sand of zen gardens. I got hooked right away with the story behind it.
Being a Codex stan, I wanted to try out Opus 5.5 see what all the buzz was about, so I gave it a simple prompt to get a quick vibe check to see if we should pursue it further to turn this into our next app.
In mere minutes I had a working prototype. It was fine. It was very flat. Nothing special.
Then something happened that I hadn't felt in almost four years of building apps with AI.
I simply asked Claude to make the scenery more realistic. It started working for a while, then it came back and my jaw dropped.
Given how good these models are now at using Blender, I sorta expected it to create 3D models. Instead it told me: "There are no images, textures or 3D models anywhere in this. Every pixel is calculated from scratch by maths, every frame."
Moss, rocks, water, cherry blossoms. All of it just straight up code. Metal shaders. I would not have even considered that as an option.
Which became the pattern of my experience building Zen Garden with Opus 5.5. Taking the unexpected harder route to get to a better result. No shortcuts.
So when Michel suggested "would be cool if a bird came flying into the garden." Opus came back with the birds that actually visit Japanese gardens, life-size, each with its own call sounds. It calculated where it could land, its motions.
It opened a garden on my screen and a kingfisher landed on the bridge, watched the koi, and dove in the pond to catch a little fish. I f***ing lost it.
I didn't ask for that. I just asked to 'add a bird'.
Every time I did ask for something, it did it in a way I simply didn't consider it would be able to do at the level and in the way it did. Better than what I had in mind.
It changed how I now build. Giving me a different perspective of what an app should feel like when made by people who care about every detail. Just asking it to do more, go even harder on the tiniest details. Just because you can. For the love of the game.
In June, after we won the Apple Design Award with grug, I wrote that AI can't care, and that you have to bring the taste. I still believe that, mostly.
But this was the first time the model actually kept pushing me to be more creative, in a different way than before, challenging me to think much bigger.
Crazy how much can change in a just few months.
This new way of building gives me so much energy all over again to build more and more. The new outcomes that are now possible. Bigger. Bolder. More creative.
For designers like me, Opus 5.5 is the best model out there by a long stretch.
And here is the crazy part. With how fast AI is progressing, it will be the worst model in a year. Think about that. But more importantly: plan ahead for that to become reality.
Our process to build our apps keeps changing every day, learning new things. Redefining what a "designer" is day to day.
And with the latest models it really allows us to be even more creative, more ambitious.
"Shoot for the moon. Even if you miss, you'll land among the stars."
Two weeks. Twenty-five billion tokens. Zen Garden started as a quick burst of inspiration, but shipped as a piece of art. Thanks to Claude.
Receipts
-
One of the first builds, 6 Oct. The puzzle worked. The garden looked like this.
-
8 Oct, 07:19. I sent Opus some rough Figma sketches. Red is a pond, black is a bridge.
08:07: "The prototype works." All 8 sketches, rendered as real ponds.
-
That afternoon I asked how it was making all of this.
No 3D models. Every pixel is math, every frame.
-
How does a garden seen from straight above feel 3D?
Every pixel gets a height. The shader lights it with the real sun, then steps from each pixel towards the sun to find its shadow. At noon it looks flat. At golden hour, the shadows draw the side profiles.
-
Michel's bird idea, as I passed it on. A minute later Opus predicted a kingfisher would sit on a bridge rail watching the koi.
The next morning it did. Then it dove in after one.
-
How do the birds know where to go? Opus turned the scenery's own height map into a perch graph: branch tips, bridge rails, rock tops. Never sand you still have to rake.
Every flight keeps above whatever is below it, then drops onto its perch.
-
For Zen Garden I wanted to have something a bit more sophisticated, on-brand. After some trials we landed on Nanum Pen but it was missing essential characters.
Result: Zen Garden Pen. Supporting 100 languages and all currency symbols.
Download it here: zengarden.so/pen
-
Sound on. I asked for "more on-brand japanese instruments", subtle and gentle.
Opus built five from scratch in code, then dropped three itself: the koto "can sound Chinese", the rin "reads as a Buddhist altar bell". No recordings anywhere.
-
I gave the 1,080-garden library "a day max" to build. Opus suggested making each journey a year, spring to winter.
Every garden got a real Japanese poem, translated from the Japanese. Then every board was proven solvable, and no two are alike.
-
With everything being raw calculated pixels rendered straight on the GPU, the phone got really hot.
"Improve it, hard rule: no visual changes."
It held true to that while improving it, spending days in instruments on my phone, checked every frame still looked the same.
-
A few of the crit sheets.
-
Zen Garden is on the App Store.


















