How to dial in espresso by changing one variable at a time
Most bad espresso comes from changing three things at once. Here is the slower, methodical loop that gets you to a good shot with fewer wasted beans.
A new bag of beans arrives, the first shot is sour, and the instinct is to fix everything: grind finer, add a gram, pull it longer, bump the temperature. The next shot is different, but you have no idea which change did it. That's not dialing in. That's shuffling.
Change one thing, then stop touching it
The method is unglamorous. Pull a shot. Change exactly one variable. Pull another. Compare.
The variables worth moving are grind setting, dose, yield, shot time and temperature — and grind does more work than the rest combined, which is why it's usually the one to move first. Everything else stays frozen while you learn what that one change did. If you move two, you've learned nothing, and you've spent the beans anyway.
This is also why a journal beats memory. Dialin logs a full shot in under ten seconds with steppers and sliders, and it pre-fills from that bean's last shot, so the only thing you touch on screen is the thing you actually changed. The record then shows the change, not just the outcome.
Record how it tasted, before you decide what it means
Taste is the measurement. Everything else is an input. So log it immediately: sour, balanced, or bitter, plus a rating out of five. Don't wait until you've cleaned the portafilter and half-forgotten.
Sour and bitter are directional signals, not verdicts on your skill. Paired with the shot time and the brew ratio, they point at exactly one next move. Dialin's Dial-In Coach does that pairing for you with a deterministic rules engine — it reads time, taste and ratio, then names one adjustment for the next pull with a short reason, like "sour and ran in 22s, grind one step finer." It works entirely offline and there's no model guessing on your behalf, just written-down cause and effect.
One change per shot feels slow until you notice it's the only method that ever actually converges.
Remember that the beans are moving too
A bag is not a constant. Coffee rests after roasting, hits a stretch where it's at its best, and then fades. If you're chasing a setting that keeps drifting, the beans may simply be aging under you.
Give each bag its own page with roaster, origin, roast level and roast date, and let the app compute the freshness window. Dialin shows a dot on the bean list — resting, peak, or fading — so you know whether today's shot is worth optimizing or worth waiting on.
Watch the loop converge
After a dozen shots on one bag, the history stops being a list and starts being a shape. Extraction time trend, grind setting progression, brew ratio against rating, average taste score by days off roast. You can see the dial-in tightening instead of hoping it is.
When you land it, star that shot as the house recipe for the bean. Reopen a familiar bag months later and you rebuild the winning dose, grind and ratio in one tap instead of re-dialing from zero. Build the grinder and roaster library once, in the grinder's own click or step units, and your settings stay comparable across every bag you ever buy.
Do this for a few bags and the method becomes reflex. That's the goal — not a perfect shot, but a repeatable path to one. More of the same thinking lives in our other apps.
More from the blog
-
AI & Trends
Designing apps that assume the network is not there
Sep 17, 2026
-
Product
Inside Dialin, the espresso journal that answers back
Sep 17, 2026
-
How-to
How to run a game night scoreboard everyone actually trusts
Sep 16, 2026
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