Version history & duplicate
Recipe versioning with a timeline: complete capture of every change (ingredients, supplies, costs, validation, nutrition), navigate your history, restore without losing new work, and duplicate to experiment.
Iterate to win
A chocolatier works by iterating: tweak 2 g of sugar, try a new supply, adjust fluidity, repeat. AreaCacao records that journey for you. Recipe versioning is the factory's version control, built for the workshop: experiment without fear, everything is recorded, and you can go back whenever you want.
Every recipe is born with its version 1 "Created" the day you create it, whatever its origin: the Chocolate Formulator, the Filling Formulator, an import, or from scratch. That first version is the original and stays untouched: your first change creates version 2, so the starting point is always preserved and you can compare it against any later version. From there, each day's work is consolidated automatically into a version, and you can mark milestones whenever you like.
Complete ecosystem capture
A version doesn't just store the ingredients: it freezes the entire ecosystem of the recipe at that moment, faithfully and immutably. If any of these change, the version captures it and the diff shows it:
- Ingredients, quantities, units and %.
- Supplies (packaging, boxes, labels) and their cost — see Supplies.
- Costs: loaded cost, multi-channel prices, break-even and the sub-recipe cascade — see Costs.
- Technical validation: the physico-chemical score and its parameters — see Formula validation.
- Nutrition: macros, energy and allergens.
- Method (steps and notes) and metadata (type, % cocoa, fluidity, target weight, aw/pH).
Truly immutable. When you open a version from a week ago, you see the costs and validation as they were then — not recalculated with today's prices. It's a faithful record of your recipe at every point in time.
The timeline
Open it with the History button in the editor header (/reciview?id=<id>), or from the ⋮ → Version history menu. A vertical timeline opens on the left: each version is a card with its number, date, a version-type label, the validation score and change chips (for example Cost +8%, Score 78→91, +2 ingredients, New supply). On the right, a wide panel tells you what happened in that version.
Once a recipe has several versions, a Compare with: Previous / Original (v1) switch lets you choose what to compare against: the immediately previous version (what changed in that step) or the Created one (how far it has moved from the starting point). A "Comparing against…" banner always reminds you of the reference, and a short hint clarifies the difference (Previous = the step right before · Original = your starting recipe). Selecting version 1 shows "Here's where the story begins", with your recipe's starting point (weight, ingredients, supplies and cost). If it's your first time, press How does it work? in the header for a quick reminder of the model.
You'll see your recent changes instantly. A day's versions consolidate in the background, but when you open the history we capture your latest edit, so you don't need to reload to see what you just changed.
Understand at a glance
The right-hand panel is designed so you grasp the impact before reading the detail:
- Impact summary — a plain-language headline ("You added 1 supply", "Cost rose by 8%"), the counts of added / removed / modified items and the key metrics (cost, validation, weight) with ↑/↓ arrows and color: a higher cost is red, a better validation is green, weight is neutral.
- Consistent visual language — every change is tagged with an icon and color: Added (green), Removed (red), Modified (amber). For numeric values you'll see the before → after and the change (e.g. 10 g → 11 g · ↑10%).
- Detail by dimension — below, only the sections that actually changed (formula, ingredients, supplies, costs, validation, nutrition, allergens, method). What didn't change adds no noise.
View a version's full recipe
Press View full recipe to open, above the timeline, the entire recipe of that version in read-only mode: metrics (weight, validation, cost), an ingredients table, supplies, allergens, nutrition and method. In the origin or "no changes" states you'll also see an ingredient preview without leaving the panel. From the full recipe, the Edit in the editor button takes you to the recipe to keep working — the historical version is read-only.
Version types:
- Created — version 1, the day you created the recipe.
- Work day — the version that automatically consolidates a day's changes. We don't record every keystroke: one version per work day.
- Version — a milestone you mark with Create version now.
- Restored — the state left by a restore.
- Experiment — the point a fork was created from.
Create a version whenever you want
Press Create version now to pin a milestone (for example, before a big change). You can add an optional note describing it — we invite you to annotate, we never force you: press Enter to skip. Later you can add or edit the note of any version from its card.
Restore without losing anything
Select a version and press Restore this version. Before applying it, your current state is saved as a new version, so no new work is lost and you can move forward again whenever you want. Restoring recovers the complete recipe: ingredients, supplies, costs, validation, nutrition, aw/pH measurements and notes.
Duplicate & experiment (fork)
Press Duplicate & experiment on a version to create an independent copy of the recipe, with its own timeline. The copy takes the parent recipe's name with a (derivada) suffix. It's the recommended way to try variants (a different % cocoa, a different filling) without touching the original — the parent stays untouched.
Autosave
There's no Save button: the editor persists your changes automatically after a short pause. The header indicator shows the state:
- Saving… — the change is being sent.
- All saved — nothing pending.
- Unsaved changes — click the indicator to force a save.
- Error — retry — the last save failed; click to retry.
The browser warns you if you try to leave with unsaved changes. Wait until you see All saved before closing the tab.
Delete a recipe
Open the ⋮ → Delete recipe menu. The app asks for confirmation before deleting.
Performance
The timeline only loads when you open it — it adds no weight to the recipe view — and capture is efficient: the work day is consolidated in the background, without interrupting your editing.