Methodology
How the recipe repair actually works
No AI calls, no black box. Every step runs deterministically in your browser against Database v0.1, and 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 first: quantities, units, and prep words like "sifted" or "softened" are stripped. It's then 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. That catches hyphenation and word-order differences (e.g. "semisweet chocolate chips" matching "Semi-Sweet Chocolate Chips"). No fuzzy or AI guessing is involved, 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. That's because a realistic dessert-recipe portion carries a large absolute sugar load even when the isolated GI number looks moderate. Agave's GI is roughly 17-19, 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; a cake recipe gets its own. 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, though they stay 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 or manufacturer source that hasn't been cross-checked against a primary study, such as 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, whether it's a branded product, a regional ingredient, or simply a gap in the current 88-ingredient set, it's shown as an honest "not in our database yet" row. It's not silently dropped, and it's not 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 an approximation for illustration rather than 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.