
FIELD NOTES / PRODUCT DESIGN
Mozi—From Shag to Soul

Mozi, designed in Mozi.
The house
I bought my house a couple of years ago. The architecture matches my style, but some of the original finishes don't, like brown shag carpet on every stair. There are also a handful of poorly executed attempts by prior owners to strip out the original character: peel-and-stick linoleum over vintage floors, painted clay tile and wood trim, and built-in planters and a sunken living room, both filled in. I may have made some of the same decisions myself.
I've been slowly peeling back the layers to find what's underneath. This month I tackled the carpet.
The house is about as open-concept as it gets, with split-level lofts over one huge room on the main floor. I hoped for chonky treads under the shag on the open-riser stairs. No such luck. But the three double-wide steps between the main-floor split levels turned out to be bullnose hardwood. Thankfully it was trash day, because that bin was overflowing with nasty vintage shag.

No chonky treads on the open-riser stairs.

But the double-wide steps were bullnose hardwood.
I have days of sanding ahead, but I wanted to get excited about the end state. Those closed risers were a chance to do something personal with mosaic tile. I landed on penny tile and wanted to play with geometric patterns, but every tool I found was buried in a specific tile line's marketing.
Claude Code to the rescue.
Useful to lovable
I prompted my way to something useful quickly, but it needed more time to be lovable. Useful meant I could muddle through to get what I wanted. Lovable meant I enjoyed getting there.
The first version worked. I could draw with tile. But it was mostly manual—copy-paste was buried, there was no undo, and it was basically digital graph paper.
Version one: placing an image as tile.
So I kept going:
Copy and paste
Image import, with some control over how it fits the tile grid
Type, with a whole set of improvements around fonts, kerning, and more
Artboards that share one unified bleed, unlike most canvas tools, so a single design can run across every riser

Type tools: pick a font, set the height, and adjust the spacing.

One letter, four risers, one shared bleed.

Exploring a different pattern for each riser.
When I reached a point where I started playing instead of hitting walls, I handed it off for UAT...
The 13-year-old test
One of my 13-year-olds struggled with the UI, because she doesn't have decades of design software shortcuts and muscle memory under her belt. I'd built a tool that worked for me, and I didn't notice how much of it lived in my head.
She wanted to repeat a pattern, so she hand-drew it tile by tile. Select, copy, and paste never occurred to her, because nothing on screen said they existed. Once I showed her, she knew enough to ask the next question herself: could she rotate a selection to repeat it around a border?
Most of the tools were there. She couldn't see them. So I put them on screen:
Contextual controls to rotate or flip tiles whenever a selection is active
Visible buttons for key functions like clone, stamp, and repeat, so the next idea is sitting right there to try
Flip, stamp, and repeat a border in seconds.
Every tool on screen is a hint about what else is possible.
What's next
The next step is handing it to more people.
What does a 70-something man who lays tile, but doesn't design it, think? What does a 40-something low-voltage tech wish were easier?
Mozi already handles other tile shapes, but I've barely tested them. A tile setter will have opinions about subway and hex that I don't.
Swapping tile shapes. You can see why it's on the testing list.
Thankfully, my world is full of late-if-ever adopters who are constantly pushing me to K.I.S.S. (keep it simple, stupid) for the everyman.
It's a work in progress, but it got me excited enough to pick up the sander... ;)

Sanded below, still to go above.


