GrindLab: Now on the App Store

May 22, 2026
GrindLab analyzing a grind sample and showing its particle size distribution

My TestFlight post from the fall of last year stated GrindLab would launch in January 2026. January was four months ago. Everything around the code proved more formidable than I expected. Almost everything took longer than I expected. But it’s finally here.

As of today, GrindLab is publicly available on the iOS App Store. It’s free, and it runs entirely on your phone.

What’s in 1.0#

The shipping feature set is narrower than the prototype I was working toward last summer. That’s intentional. Each capability had to earn its place by being something I find truly useful on a regular basis.

  • Camera-based particle analysis. Photograph grounds against a flat reference, run them through your ruler calibration, and read a size distribution in microns. Filter, Espresso, French Press, and Cold Brew each have a target range; the histogram shows how your grind compares.
  • Saved analyses and comparison. Up to fifty entries, stored locally. The comparison view puts two analyses side by side — useful when you’re trying to figure out whether a new burr set changed anything, or whether it just felt like it did.
  • Brew timer with Live Activities. Recipes save with grind type, dose, water, and notes; the timer pins to the Lock Screen and Dynamic Island while you pour.
  • Tasting notes. Each saved analysis can carry a flavor profile and rating. The data only matters if it’s tied back to what you actually tasted.

What didn’t ship is at least as important as what did. The AI-driven recommendation engine I gestured at in the TestFlight post isn’t here. I cut the OpenAI integration entirely — not because the idea was bad, but because shipping an account-less, no-network app turned out to be the more honest version of what I wanted GrindLab to be. The privacy manifest now says GrindLab connects to nothing. I wanted that to be true with no asterisks.

On the calendar slipping#

A January launch became a May launch because I underestimated the work between “feature complete” and “ready to submit.” The analysis engine has been stable since last autumn. What took the additional four months was unglamorous: a real privacy manifest, real permission strings, a privacy policy I could host without flinching, an accessibility pass that made the charts speak instead of being silent, and UI smoke tests that run from a clean state so I can catch regressions before they reach users.

I had to keep reminding myself that the difference between a project and a product is mostly the last twenty percent, which is the most difficult part.

What’s next#

A 1.0 is a starting point. The next stretch is calibration and UI polish: making the ruler step more forgiving across lighting and camera variation. After that, recommendations — built on the dataset that 1.0 will start producing.

If you’ve followed along since the first post in August, thank you. If this is the first you’re hearing about GrindLab, the App Store details are linked above.