Introduction
Automatic balancing is a powerful tool that helps you create well-balanced ice cream recipes by automatically adjusting ingredient weights to achieve target properties. A balanced recipe achieves the right texture, creaminess, flavor, sweetness, and firmness through the careful selection and proportion of ingredients.
A chart sets the target properties (like fat %, sweetness, serving temperature). In the Smart Balance dialog you classify ingredients so the balancer knows what each one is for; each class carries default bounds that keep your flavoring and stabilizer amounts in check. The balancer then adjusts the weights to reach the targets while keeping the recipe weight.
Understanding the Color System
The chart uses colors to show how well your recipe matches the target ranges:
- Green bars – Property is within the target range (good!)
- Red bars – Property is outside the target range (needs adjustment)
- Yellow bars – No target range set (for reference only)
- Grey bars – No value for this property in your recipe
Black error bars show the acceptable min/max range for each property, and a small yellow diamond marks the target value when the chart sets one. When a snapshot is active, orange bars show the snapshot values (see Snapshot Comparison).

Getting Started with Balancing

Step 1: Select a Chart
Charts define the target properties for your recipe. Different ice cream styles need different targets.
- Open the Chart menu in the chart sidebar and choose Select chart, or right-click the chart and pick a chart from the list
- Browse the available charts: your Personal charts and the Default charts
- Select a chart that matches your ice cream style (e.g., “Ice Cream”, “Gelato”, “Sorbet”)
- The chart will display showing your recipe’s current values
The editor remembers the chosen chart for each recipe. A chart shared in Explore must first be copied to your own charts; see Charts.

Tip: Start with a Default chart like “Ice Cream Base” and adjust from there.
Step 2: Check Your Recipe Status

If most bars are green, your recipe is already well-balanced. If several bars are red, balancing can help. Yellow bars have no range and are not used in balancing.
Step 3: Click Balance to Open the Balance Dialog
Click the Balance button in the chart sidebar. This opens the Balance dialog, where you review how each ingredient should be treated before the balancer runs, then click Balance in the dialog. Balancing typically takes 1–2 seconds.
On phones: on narrow screens the chart shows horizontal bars and the sidebar buttons become a row of icons below the chart. Tap the Balance icon (the scales) to open the same Balance dialog full screen.
The Balance Dialog
Each ingredient in your recipe is shown in a row with a lock toggle, the ingredient name, a row of class chips for its functional role, the current weight, and the range the balancer will be allowed to use (as a percentage of the mix).

Add-ins are never balanced. Inclusion and infusion rows show an Add-in chip instead of a lock and class chips, and the balancer leaves their weight exactly as it is.
Why Classify Ingredients?
Without classes, the balancer could push a flavoring like strawberry purée from 12% down to 4% just because it helped some target — and the result would no longer taste like strawberry ice cream. A class applies a sensible weight range with a single click, so the balancer can’t blow your recipe up.
The Classes
There are six chips you can pick from. Each one (except Free) tells the balancer what range of weights is acceptable for that ingredient:
| Chip | Meaning | Effective range |
|---|---|---|
| Free/Custom | No class-based bound. The balancer uses whatever Min%/Max% you have set on the ingredient manually (or 0–100% if none). | Your manual range |
| Flav (Flavor) | A flavoring you want to keep close to its current amount — strawberry purée, cocoa, vanilla extract, fruit pieces. | ±5% of current weight |
| Stab (Stabilizer) | A stabilizer used at small dosages. Typical professional range. | 0.05% – 0.6% of mix |
| Emul (Emulsifier) | An emulsifier like lecithin or mono- and diglycerides. | 0.05% – 0.5% of mix |
| Fib (Fiber) | An added fiber (inulin, oligofructose, etc.). Capped so it can’t take over the recipe. | 0% – 5% of mix |
| HIS (High-Intensity Sweetener) | Stevia, sucralose, monk fruit, etc. — ingredients where even tiny weight changes massively change perceived sweetness. | ±1% of current weight |
How Ingredients Get Pre-Classified
When the dialog opens, the app pre-fills each chip in this priority order (click another chip to override):
- Previously stored class – the class you accepted the last time you balanced this recipe.
- Existing manual Min%/Max% – the chip stays on Free (shown as Custom) and your manual range appears in the Range column. Your manual work is never silently overridden.
- Property-based heuristic – high stabilizer content → Stab, high emulsifier content → Emul, salt or alcohol-rich ingredients → Flav. Everything else starts as Free.
Lock Column
The leftmost column is a lock toggle. Locked ingredients are completely frozen — the balancer will not change their weight by a single gram, no matter what their class is. Locking is stricter than the Flav chip: Flav allows ±5% wiggle room; lock allows zero.
Classify with AI (Premium)
The Classify with AI button asks Claude to look at every ingredient in your recipe and pick a class for each, with a short reason for the choice. It is a Premium feature and a convenience: classifying manually with the chips works just as well.
It overwrites the current chips, except for ingredients with a manual Min%/Max%, and leaves the chip on Free when it is unsure. You can still change any chip afterwards.

Reset Button
The Reset button clears all chip selections back to Free. Locks are preserved. This is useful if you want to run the balancer against only the bounds you’ve set manually on the ingredients.
Important: How the Chip Interacts With Your Manual Ranges
The chip is the single source of truth for an ingredient’s bounds during balancing. A non-Free chip (Flav, Stab, Emul, Fib, HIS) applies the class range and ignores any manual Min%/Max% for this balance. With Free, your manual Min%/Max% applies.
Example: You set pistachio paste to a manual range of 4–12%. If you pick the Flav chip, the balancer uses ±5% of the current pistachio weight, not 4–12%. To keep the 4–12% range, leave the chip on Free.
The Balance Result Summary
After balancing finishes, a Balance result summary can open. It shows how each target moved (with its range), every adjusted ingredient with its old weight, new weight, and the difference, and technical details about the run.
The summary opens automatically whenever the result needs your attention — any target still out of range, a recipe kept unchanged by the safety net, or contradictory targets. Tick Always show balance summary at the bottom of the Balance dialog to see it also when every target lands in range.

Running the Balance
Click the blue Balance button in the dialog. The dialog closes and your recipe is updated. The chip selections and lock states are saved to the recipe, so they are remembered next time. If you click Close instead, none of your chip or lock changes are saved.
Balance Advice — When Targets Can’t Be Reached
Sometimes your recipe is simply missing a kind of ingredient. When any target ends up out of range, the Balance result summary shows a Get advice panel right below the verdict. Click it to find out what type of ingredient would unlock the failing targets.
What the Advice Tells You
The analysis can take up to a minute. It tests your recipe against a set of pure ingredient types (water, different sugars, milk solids, fats, protein, stabilizer, emulsifier, and more), finds the smallest set of additions that would make the failing targets reachable together, and verifies the suggestion by running a real balance behind the scenes.
For each suggested addition you see what to add (an ingredient type with examples, e.g. “A stabilizer (e.g. locust bean gum or guar gum)”), a starting amount as an order of magnitude (e.g. “start with a very small amount (well under 0.5% of the mix)”), and which targets it unlocks (e.g. “Needed to reach: POD, Serving temp”). A green confirmation shows when a test balance with these additions brought every target into range.
Important: These are starting amounts. Add the suggested ingredients to your recipe, then run Balance again — the balancer will work out the exact amounts for the ingredients you actually chose.
What Advice Can’t Fix
Some targets can’t be fixed by adding anything, and the advice says so under Not fixable by adding ingredients. The most common case is a locked ingredient holding a property out of range — for example, locked egg yolks keeping Emulsifiers above its range. The advice then names the locked ingredient and suggests unlocking or reducing it.
Manual Balancing Methods
While automatic balancing is powerful, you often need manual control for precision adjustments. The web app provides several manual balancing tools.
Weight
You can change the weight of an ingredient in different ways. Change the weight directly in the table or use the weight slider. You can also change the W% edit or use the advanced weight dialog.

Ratio Adjustment Tool
Control two ingredients together:

- Select first ingredient
- Click Tune button to open ratio panel
- Select second ingredient from chips
- Use dual sliders to adjust ratio
- Total weight of both ingredients stays constant
- Click Apply when satisfied
Use cases: adjusting the milk/cream ratio, balancing different sugars, fine-tuning stabilizer blends.
Volume Conversion

You can open the volume conversion dialog to convert a volume to weight. The calculator works in grams so if you have a recipe with volume units you need to convert volume to weight.
Quick Adjustments
For fast, targeted changes without full balancing. Both controls sit in the Scoopability card below the chart, which you can move or remove with Customize layout (see Editor Cards and Layout). Both need a selected chart.
Scoopability Adjustment (PAC)
The Scoopability Bar shows how firm your ice cream will be:

- Click minus (−) to make softer (increase PAC by about 3 units)
- Click plus (+) to make harder (decrease PAC by about 3 units)
More PAC means more freezing-point depression, so the ice cream is softer at the same temperature. The adjustment holds fat, solids, sugars and sweetness close to where they are.
Use this when: Your ice cream is too hard or too soft at serving temperature.
Sweetness Adjustment (POD)
The POD box next to the Scoopability Bar shows relative sweetness:

- Click minus (−) to make less sweet (decrease POD by about 3 units)
- Click plus (+) to make sweeter (increase POD by about 3 units)
Use this when: You want to adjust sweetness without changing texture.
Controlling Individual Ingredients
The Smart Balance dialog is the primary way to control individual ingredients during balancing, but the older mechanisms still work and are useful for fine-tuning.
Locking Ingredients
Click the lock icon next to the ingredient name in the main recipe table (it turns red) or in the Smart Balance dialog. Locked ingredients keep their exact weight. In most cases the right class chip is the better option: it allows small useful adjustments while still protecting the character of the recipe.

Setting Amount Ranges Manually
If no class chip fits, set a precise range on an individual ingredient — for example 4–12% for pistachio paste, or a hard maximum on a cost-sensitive ingredient.
- Click the Amount button for an ingredient
- Set Minimum % and Maximum % (percentage of recipe weight)
- Click Apply

The default range is 0% to 100% (the ingredient can be adjusted freely). A manual range applies while the ingredient’s chip stays on Free (see The Classes).
Understanding Charts
A chart is a collection of target properties. Choosing, creating, copying and editing charts, and what each setting means, is covered in Charts. For balancing, what matters is:
- Min and Max – every property with a range is balanced; properties without one are shown for reference only. Tight ranges give precise control but are harder to reach.
- Target – where in the range to aim. Without one, the balancer aims for the middle. Getting into the range always comes first.
- High Priority in Balancing – when not every target can be reached, the balancer works hardest on priority properties.


Quick Edit
You can click on a bar in the chart to quickly edit that property in the Edit Chart Property dialog. This changes your chart temporarily in your current recipe. To save the change permanently, open the Chart menu and choose Save chart; for a Default chart, Save chart offers to create a personal copy with your changes. To discard local changes, choose Reload chart in the Chart menu (or right-click the chart and choose Reload).


Snapshot Comparison
Compare your current recipe against a saved version:
Taking a Snapshot
From current recipe:
- Click the Snapshot dropdown in the chart sidebar
- Select Current Recipe
- Orange bars appear showing current values

From another recipe:
- Click the Snapshot dropdown
- Select Select Recipe
- Choose a recipe from the list
- Orange bars show that recipe’s values

Using Snapshots
Once a snapshot is active, the orange bars stay as a reference while you edit your recipe, so you can see how it compares: before and after an adjustment, or against a known good recipe.
Balance to snapshot: while a snapshot is active, the Balance dialog has a Balance to snapshot button. It balances the recipe toward the snapshot’s values for the chart’s properties. This is very useful if you have a recipe that you know is really good and like to match its chart properties.
To compare several recipes on the current chart at once, use Compare recipes in the Chart menu (see Charts).
Clearing Snapshots
Click Snapshot ON button to remove the comparison and hide orange bars.
Balancing Best Practices
Before Balancing
- Use enough ingredients. One sugar source can’t control both sweetness and texture; one dairy source can’t adjust fat without moving everything else. Use several sugars (sucrose, dextrose, glucose syrup) and dairy sources (milk, cream, milk powder).
- Avoid conflicting targets (total fat above total solids is impossible), and don’t target properties your ingredients can’t provide, such as emulsifiers in a recipe without any.
- Review the class chips: Flav for anything that defines the flavor, Stab, Emul or Fib for technical ingredients, the lock only for a hard guarantee.
After Balancing
- Check the results. Are critical properties green? Do the weights make sense? Tick Always show balance summary to review every run; the summary opens by itself whenever a target is still out of range.
- Make manual adjustments. Round weights, nudge a flavor ingredient, or fine-tune one property with Quick Adjust (PAC/POD).
- Test and iterate. Make the recipe, taste it, and update your chart based on the results.
Tip! If a balance doesn’t fully converge, try clicking Balance again with the same or slightly relaxed class chips. Running it a second time costs you essentially nothing.
Examples and Workflows
For how to choose a chart and set up Smart Balance for different styles (vanilla and other small-dose flavors, chocolate, and fruit), see Balancing for Different Ice Cream Types.
Example 1: Basic Vanilla Ice Cream Balance
Starting point: Simple recipe with basic ingredients
Goal: Create a well-balanced vanilla ice cream
Ingredients:
- Whole milk: 500g
- Heavy cream: 300g
- Sugar: 150g
- Skim milk powder: 30g
- Vanilla extract: 5g

Steps:
- Select chart: Choose “Ice Cream Base” from Default charts
- Check initial status:
- Total solids: RED (37.1%, target 39–45%)
- Serving temp: RED (-11.7°C, target -17 to -14)
- POD: RED (160, target 165–180)
- Click Balance → The Smart Balance dialog opens. Vanilla extract is pre-classified as Flav (because of its alcohol content); the other ingredients start as Free.
- Click Balance in the dialog. The algorithm runs in ~1 second.
- Review results:
- Milk Solids RED Value:25.3 Target 16–22
- Stabilizers/Water 0
- Emulsifier 0
This recipe needs another sugar source, a stabilizer and an emulsifier!
- Add Dextrose 100g
- Add Stabilizer 2g
- Add Emulsifier (Lecithin) 2g
Click Balance again. The Smart Balance dialog now pre-classifies the stabilizer as Stab and the lecithin as Emul based on their properties. Vanilla stays Flav. Click Balance.
Result: Well-balanced vanilla base ready for churning.

Troubleshooting
“Balance button doesn’t work”
Possible causes:
- No chart selected → Select a chart first
- Chart has no target ranges set → Edit chart to add Min/Max values
- All ingredients are locked → Unlock at least two ingredients in the Smart Balance dialog
“Balancing makes strange changes to my flavor ingredients”
Use the Smart Balance dialog to protect them:
- Set anything that defines your flavor to Flav (±5% wiggle room)
- For ingredients you want completely untouched, use the lock toggle
- For very precise control, set a manual Min%/Max% range and leave the chip on Free
“Some properties won’t turn green”
Balancing can fail because of the constraints, not the algorithm: no optimizer can solve a problem that has no solution.
Possible causes:
- Conflicting targets – e.g. high sweetness AND low sugar content. The balancer returns the closest possible result.
- Not enough ingredient variety – milk changes fat, protein, sweetness and freezing point at once; without other ingredients to compensate, some targets stay out of reach.
- Too many ingredients pinned by chips or locks – the algorithm has nowhere left to move.
- Narrow solutions – very precise amounts are needed, so small variations push properties back out.
Try: click Get advice in the Balance result summary; relax less critical targets; add ingredient variety; move some chips from Flav back to Free or unlock ingredients; or start from a working recipe and use Quick Adjust for one-property tweaks.
“The balancer kept my recipe unchanged”
The balancer keeps the best result it finds during a run, and your starting recipe counts as one of the candidates. If nothing it tried was better than what you started with, it leaves your weights as they were and the summary says No changes made. This safety net stops the algorithm from making your recipe worse in pursuit of a single hard target, and usually means your constraints are too tight. To work around it:
- Relax tight chart targets
- Loosen ingredient bounds (move chips toward Free)
- Add more ingredient variety
Frequently Asked Questions
Q: How do I know what targets to use?
A: Start with Default charts (Ice Cream Base, Gelato, etc.). These are based on professional formulations. Adjust based on your results; see Charts.
Q: Can I balance without a chart?
A: No. Charts define the target properties. Without targets, the algorithm doesn’t know what to optimize.
Q: Should I balance every recipe?
A: No. Use balancing for new recipes, recipes with problems (too hard, too sweet, etc.) and when replacing ingredients. Don’t balance recipes that already work well, or just to see what happens — it will change your recipe!
Q: What’s the difference between Balance and Quick Adjust (PAC/POD)?
A: Balance optimizes all chart properties simultaneously. Quick Adjust changes one property quickly with minimal impact on the others. Use Quick Adjust for tweaks, Balance for comprehensive optimization.
Q: Can I undo balancing?
A: Yes! Use the Undo button (Ctrl+Z) to revert changes. The app tracks your recipe history.
Summary
Select a chart, click Balance, review the class chips and locks, and click Balance in the dialog. Use Quick Adjust for small tweaks and snapshots to compare versions, then test, taste and iterate.
Remember: Balancing is a tool, not a replacement for your expertise. Use it to handle the complex math while you focus on flavor and creativity.
Technical Note! How the Balancer Works
The balancer is built around a linear programming (LP) solver, Google’s OR-Tools GLOP, which replaced the older trust-region SQP code. It is around 10× faster and more reliable on recipes with tight constraints.
What the LP optimizes: it works in stages. First it brings as many properties as possible into their ranges, then moves them toward the targets you set, then centers properties that only have a range, and finally prefers the smallest weight changes. Properties are scaled to their range width, so PAC (around 200) and stabilizer % (below 1) compete on equal footing, and High Priority properties get extra weight.
Non-linear properties (PAC normalized, FW%, freezing point, serving temperature) are approximated around the current weights and re-fitted after each solve. This typically converges in 3–7 iterations.
Safety net: the balancer keeps the best state it saw during the run — your starting recipe, any intermediate step, or the final result — judged first by how many properties are out of range and how far, then by distance to the targets. If your starting recipe was the best, nothing changes and the summary says so.