Product Sep 17, 2026 · 3 min read

Inside Dialin, the espresso journal that answers back

Most trackers record what already happened. Here is the mechanism that lets Dialin name your next adjustment instantly, with no model and no network.

Inside Dialin, the espresso journal that answers back

A shot journal that only stores shots is a diary. You end up with a beautiful record of every sour espresso you've ever pulled and no idea what to do differently. Dialin was built around the opposite premise: the log exists to produce a recommendation, and the recommendation has to arrive before you've finished drinking.

The loop the whole app is shaped around

Pull a shot. Log it. Get told the single next thing to change. Repeat.

Logging is deliberately fast — steppers and sliders for dose, grind setting, yield, shot time and temperature, a one-tap taste verdict of sour, balanced or bitter, and a rating out of five. The whole thing takes under ten seconds, because a journal you skip when you're rushing is a journal that has no data when you need it.

The trick that makes it that fast is pre-filling. Each new shot starts from that bean's previous shot, so you only touch the value that actually moved. That also happens to enforce good method: when the form arrives pre-filled, changing one variable is the path of least resistance.

A rules engine, not a model

When you save, the Dial-In Coach reads three things — shot time, taste verdict, and brew ratio — and surfaces exactly one recommended adjustment for the next pull, with a short plain-language reason. Something like: sour and ran in 22s, grind one step finer.

It is a deterministic rules engine. No machine learning, no inference, no network call. That's a choice, not a limitation we're apologizing for. The logic is the same cause-and-effect reasoning a barista uses, written down where you can read it and disagree with it.

A recommendation you can argue with teaches you something. A recommendation from a black box just trains you to obey it.

Determinism has a second benefit: the same inputs always produce the same advice. You can learn the app's reasoning, which means eventually you don't need the app to tell you.

Why it feels instant

Nothing in that path touches a server. Everything lives on your iPhone — the shots, the beans, the equipment library, the charts. There's no account, no cloud, and nothing to sign into. Save a shot and the advice is already on screen, because there was never a round trip to wait for.

That also means it works in the exact conditions people actually make coffee in: a kitchen with bad Wi-Fi, an office, an Airbnb, a campsite. And your logs stay yours by construction, not by policy.

The rest of the app compounds the same local data. Each bag gets a page with roaster, origin, roast level and roast date, and a computed freshness window with a dot showing resting, peak or fading. Shot history rolls into charts: extraction time trend, grind progression, brew ratio against rating, and average taste score by days off roast. Star a shot as the house recipe for a bean and rebuild the winning dose, grind and ratio in one tap when you reopen that bag. Build your grinder and roaster library once, in the grinder's own clicks or steps, so settings stay comparable across bags.

Dialin is free, no subscriptions, ever. The direction we're taking it is the same one it started from: more of the barista's reasoning written down, still deterministic, still entirely on your phone. See what else follows that pattern in our apps.

More from the blog

0 comments

No comments yet — be the first.

Leave a reply

Sign in with Google to join the conversation. We require a quick sign-in to keep comments spam-free.

Sign in with Google to comment