Methodology
How the recipe repair actually works
No AI calls, no black box. Every step here runs deterministically in your browser against Database v0.1 — this page documents exactly what happens when you paste a recipe.
Database v0.0.1 (draft) — updated 2026-07-21
In the repair

1. Matching
Each pasted line is normalized (quantities, units, and prep words like "sifted" or "softened" are stripped) and compared against every ingredient and sweetener name and known alias in Database v0.1. A line matches if it substring-matches a database term in either direction, or if all of its significant words appear among a database term's words — this catches hyphenation and word-order differences (e.g. "semisweet chocolate chips" matching "Semi-Sweet Chocolate Chips"). No fuzzy/AI guessing is used, and no network call happens after the page and database have loaded.
2. Impact buckets
Every matched ingredient falls into one of three buckets, using Database v0.1's threshold rule:
A separate override applies regardless of measured GI: honey, maple syrup, agave, molasses, white/brown/powdered sugar, corn syrup, date syrup, and dried fruit are always bucketed high-spike, because a realistic dessert-recipe portion carries a large absolute sugar load even when the isolated GI number looks moderate (agave's GI is ~17–19, for example, but a quarter-cup pour is still a large sugar dose).
3. Swap selection
Swaps come from Database v0.1's swap_rules table, matched by the ingredient's id and (where possible) the baking context found in your pasted text — a cookie recipe gets the cookie-specific ratio and adjustment notes, not the cake-specific ones. The tool only ever displays a swap that moves to a strictly lower impact bucket; same-bucket substitutions that exist in the data for texture reasons (for example, cornstarch → tapioca starch, both high-spike) are excluded from what the tool recommends, even though they remain documented in the underlying dataset for transparency.
4. Confidence levels
Every number carries a confidence level inherited directly from Database v0.1: high (independently verified against a primary source this session, e.g. FDA guidance documents, direct USDA FDC IDs), medium (verified via a USDA mirror site or established secondary compilation), or low (a single comparative/manufacturer source, not cross-checked against a primary study — for example, both maltitol GI figures). Nothing is silently upgraded to look more certain than its source supports.
5. Unmatched ingredients
If a pasted line doesn't match anything in Database v0.1 — a branded product, a regional ingredient, or simply an 88-ingredient gap — it is shown as an honest "not in our database yet" row, never silently dropped and never assumed safe. See Sources for the full ~9-entry unresolved list and what's out of scope in v0.1.
6. Approximate carbs/sugars per serving
The tool sums a nominal per-ingredient contribution from matched carbs/sugars values and divides by an assumed batch size (12 servings) to show a directional carbs/sugars-per-serving figure. This is explicitly an approximation for illustration, not a lab nutrition analysis — recipes rarely state ingredient weights, so any per-serving math from a plain-text ingredient list is an estimate, and the tool labels it as such next to the number.