Land every KPI inside its range — manually, automatically, or with cost in mind.
A balanced recipe is one where total solids, sugars, fats, MSNF, PAC and POD all fall inside the ranges that produce a stable, well-textured gelato at your serving temperature. Gelato Maestro gives you three ways to get there: manual sliders, Auto-balance, and Auto-balance (Cost).
The most direct approach is to nudge the sliders by hand and watch the gauges. The screen flow is:
Auto-balance runs Gelato Maestro's programmatic balancing engine on your recipe. It iteratively adjusts the loads of every ingredient that's available for balancing until every KPI gauge (total solids, sugars, fats, MSNF, PAC, POD) sits inside the ranges you've defined in Settings › Gauges — or it reports that no solution exists.
The engine optimises against the KPI ranges and nothing else. It has no opinion on whether 60 % lemon juice in a sorbet is delicious or chemically aggressive; if the numbers fit the ranges, the engine considers the recipe valid.
That mathematical purity matters most when:
Four per-ingredient settings shape what the engine is allowed to do with each load. Defaults are configured on the ingredient itself in Adding or Editing an Ingredient; the recipe's row menu can override them for this recipe only.
An on/off toggle. When off, the ingredient is removed from the balancing math entirely — the engine acts as if it weren't there. It doesn't contribute to total solids, sugars, fats, PAC, POD, MSNF or scoopability. The ingredient is still in the recipe — costed, weighed, printed on the production sheet — but its composition is invisible to Auto-balance.
This is the right switch for inclusions — ingredients added after churning that don't dissolve into the mix:
If you leave these in the balancing math, the engine sees their composition (high fat from chocolate, high sugar from cookies) and distorts the rest of the recipe to compensate — even though physically those solids never dissolve into the mix and don't affect the freezing curve or scoopability.
Available from the row menu in Recipe Details. Pins this ingredient's load at its current value for this recipe only. Auto-balance cannot change it, Rescale preserves it. Use it when you've manually dialled in a specific load (75 g of pistachio paste, say) and want to keep it while the engine works around it.
The Dosage limit is a value in grams per 1000 g of mix. It only takes effect once you pick a Dosage mode. The two modes mean different things:
| Dosage mode | What the engine does | Use it for |
|---|---|---|
| Max Limit | The Dosage limit is the maximum the engine may use. Auto-balance is free to pick any load between 0 and the limit, choosing whatever value best satisfies the KPI ranges. | Culinary ceilings — "no more than 250 g of lemon juice", "no more than 40 g of alcohol". Let the engine optimise underneath. |
| Fixed | The Dosage limit is a hard value the engine must honour exactly. Auto-balance pins the ingredient at the limit and balances the other ingredients around it. Rescale also keeps it pinned. | Ingredients with a single correct dosage — a stabiliser at 4 g, a flavour paste at exactly 30 g, a specific overrun reagent. The engine doesn't get to second-guess it. |
A manual integer adjustment (−200 to +200 per 100 g) added to the ingredient's calculated PAC contribution. Use it when an ingredient affects freezing in ways the sugar/alcohol math doesn't capture — a water-binding stabiliser, a hydrocolloid, a tightly-bound fruit pulp.
How the engine treats each ingredient at a glance:
| Setting | Effect on Auto-balance |
|---|---|
| Use for balancing = off | Ignored entirely — load can be anything, composition not counted. |
| Lock ingredient = on | Load pinned at current value; engine cannot change it. |
| Dosage mode = Fixed | Load pinned at the Dosage limit; engine balances around it. |
| Dosage mode = Max Limit | Load free to vary between 0 and the Dosage limit (inclusive). |
| None of the above | Load free to vary between 0 and 1000 g/kg. |
The cost-optimized variant runs the same engine but with an additional objective: among the feasible solutions, prefer the cheapest. It uses the cost per 100 g you've entered on each ingredient.
Rescale multiplies every ingredient's load by the same factor. Use it to:
For production scaling (e.g. "I need 4 kg of mix tonight"), don't use Rescale on the recipe — use Make Gelato instead, which keeps the recipe at 1000 g and scales just the production batch.
Gauges are color-coded against the ranges you've set in Settings › Gauges. By default Gelato Maestro ships with industry-standard ranges per gelato kind.
| Gauge | What's "good" in a cream gelato |
|---|---|
| Total Solids | 36–42% — body, mouthfeel, freeze resistance. |
| Total Sugars | 16–22% — sweetness and freezing-point depression. |
| Total Fats | 6–10% — richness and smoothness. |
| MSNF | 8–12% — protein for body and structure. |
| PAC | 240–280 — softness at serving temperature. |
| POD | 180–230 — perceived sweetness. |
| Scoopability | In the green band at your serving temperature. |
Sorbet ranges differ — typically lower total solids (28–34%), higher PAC (270–320), zero MSNF, and target sugars around 24–30%.