back to work
Spruit · 2026 · case study

A full AI app, shipped solo on nights and weekends.

A plant-care app that learns the rhythm of your home.

Product Design UI/UX Design Branding iOS Design AI Product Design
Spruit shown on iPhone

a calm rhythm for keeping plants alive.

Spruit pairs AI plant identification with a thoughtful plant doctor and a self-tuning watering cadence. I designed it in code with AI in the loop, not in static frames. Live on iOS and Android.

YEAR
2026
ROLE
Product · UI/UX · Brand · AI Illustration
TEAM
Solo
PLATFORM
iOS · Android
LAUNCH
App Stores · 2026
STATUS
Live
visit the site

the problem.

I love plants and I kept killing them. Existing apps either nag with rigid schedules or read like clinical wikis. None of them factored in whether a plant lives indoors or out on a balcony, or what the local weather was actually doing that week. Spruit's job is to replace anxious guesswork with care that reacts to where the plant lives and the climate around it.

rigid schedules that nag clinical advice, no warmth blind to indoor vs outdoor no read on local weather

the process.

I deleted Figma, then shipped an entire iOS app alone. But shipping isn't the point: where I designed it is. For years I designed static screens, frames and flows that only hint at how something feels. This time I cut out the picture and designed the product itself, in code, with AI doing the building I couldn't.

01
Probe the models, design the failure modes
Compared identification and diagnostic models against real plant photos and edge cases, learned where they hallucinate, and designed the product around those failure modes. Every AI output ships with a confidence score, an alternative path, and a way for the user to correct it.
02
Design the three AI features
Sketched the three places AI actually earns its keep (photo identification, conversational plant doctor, and a self-tuning watering cadence) and the rules each one had to follow. AI fades into the background until the moment it adds value, then it earns being foreground.
03
Direct the brand and mascot system
Designed an illustrated terracotta-pot character with mood states (happy, cool, starry-eyed, crying) that map to plant health. Iterated palette runs, mascot variants, and a library of cosmetic packs (hats, halos, ribbons) earned through care, with a small bench of AI design tools doing the running while I called the shots. No shop, no second currency.
04
Build the core in a weekend, refine after-hours
Got the core flow into shipping shape in a weekend, then kept iterating outside my main-job hours: identification flow, plant doctor, watering cadence, localisation across seven languages. AI tools did a lot of the running; I did the deciding.
05
Localise and ship
Shipped to the App Store and Play Store: TestFlight rounds with real plant-killers, copy tuned across seven languages, and a free tier that earns the paid Spruit+ instead of locking the basics behind it. spruit.app holds more on each feature.

nothing left to hand off.

What changed wasn't my output, it was my input. Designing in the real medium, with real data, real motion, and real context, changed the decisions I made. Designing the actual thing, not a drawing of it, made me a better designer; the shipping was just what happens when there's nothing left to hand off. Spruit is live on iOS and Android.

Motion became a design material
The pack shake, plants growing on screen. You can't feel timing in a static frame, so I tuned them live, in the actual build.
States stopped being optional
Empty, loading, overdue, done. In code, every state demands to exist. A mockup lets you pretend the unhappy paths away; a compiler doesn't.
Real data became a harsh critic
A plant named "Monstera Deliciosa Variegata" breaks layouts that "Plant name" never would. The medium forces you to design for reality from day one.
When I missed a design tool, I built it
A live design-system gallery, a mascot editor, a generator that shoots real App Store screenshots from the app. A dozen, all AI-built in evenings. I didn't lose the canvas; I generated the one I needed.
designing with AI

Let me be honest about what I am: I can't build this alone. I can read code, sketch the structure, write the basics, and direct the rest. Claude Design and Claude Code filled the gap between what I could imagine and what I could type.

I'm not pretending it's all upside. For pure exploration, for holding ten directions at once, for the tight control a real design file gives you, nothing beats Figma yet, so I'll still open it. For now. There's more on every feature at spruit.app.

view website for this case
next case

SongSens.ai

Learning a language through the music you already love.

read case