NATIVE iOS · SWIFTUI

Errandizer

Dump everything you need to run, grab, and get done. Errandizer clusters the chaos into stops and figures out when and how to run them.


The MVP

Errandizer takes an unstructured list of everything on your plate and turns it into a routed errand run. You type the mess, an LLM clusters it into stops by place, you correct and arrange it by hand, and it works out when to go against your real calendar. The verb model is the spine: a trip is the document, and planning and scheduling are things you do to an open trip.

01AI product-to-store matching that clusters a messy list into the right stops
02Route optimization weighing fastest against least gas
03Refrigeration-aware ordering so cold and frozen items don't sit too long
04Calendar availability that surfaces real free windows to schedule the run
05Cargo space factored into the plan before it sends you out

Screens

What I learned

First time building a native iOS app end to end, and most of the learning lived in the small stuff. The native interaction patterns carry real weight, and once I stopped fighting them the app got better fast. Gestures did more work than taps ever could: drag to arrange the run, drop one stop onto another to merge, swipe to retire a trip. The content wanted to be handled, not clicked. The other lesson was about the model. I ran this on high-effort Opus 4.8, and I think Sonnet would have gotten me to a better outcome faster. It's quicker, less verbose, and it stays in its lane. Opus kept slipping assumptions and recommendations into the plan-to-code loop, and the whole point of how I work is that I make the shaping calls, not the agent. Speed and restraint beat horsepower here.


What's next

Two things I'd build next. A route estimator, so the plan tells me how long the whole run is likely to take, not just the order to do it in. And vehicle-aware cargo space, so the plan knows whether everything actually fits in the car I'm taking before it sends me out the door.

Built with SwiftUI · Anthropic API · EventKit