Platform
Ingredient Topology
Every ingredient mapped by structural role, chemical properties, and competitive relationships. The foundation of recipe intelligence.
Substitution Explorer
Filter by structural role, then compare chemical profiles side by side.
Compatible Substitution
Chemical profiles are within acceptable tolerance across all tracked properties.
Reference values sourced from CRC Handbook and industry standards.
9 Structural Roles
Every ingredient in a cocktail serves a structural purpose. The topology engine classifies each ingredient into one of nine roles that determine how it interacts with the rest of the recipe.
Anchor
The base spirit. Drives ABV, defines the cocktail's identity. Usually 1.5–2.5 oz.
Bourbon, gin, rum, tequila, vodka
Modifier
Adjusts and shapes the anchor. Adds complexity without dominating.
Vermouth, amaro, Cointreau, Chartreuse
Bridge
Connects anchor and modifier flavors. Creates coherence between disparate ingredients.
Maraschino, Bénédictine, elderflower
Accent
Small-dose flavor spikes. Dashes and rinses that add dimension.
Bitters, absinthe rinse, saline, tinctures
Sweetener
Balances acid and bitterness. Affects viscosity and mouthfeel.
Simple syrup, honey, agave, demerara, orgeat
Acid
Primary balancing agent. Defines the sour/tart profile.
Lemon juice, lime juice, citric acid solution
Bittering
Adds depth and complexity through bitterness. Stimulates palate.
Angostura, Peychaud's, Campari, Fernet
Aromatic
Engages the nose. Garnishes, expressed oils, aromatic liqueurs.
Orange peel, mint, rosemary, lavender
Lengthener
Extends volume without overpowering. Usually carbonated or dilute.
Soda water, tonic, ginger beer, sparkling wine
Chemical Properties
Each resolved ingredient carries a chemical profile used by the simulation engine.
| Property | Unit | Used For |
|---|---|---|
| ABV | % v/v | Freezing point depression, proof calculation, dilution targets |
| Sugar Content | g/L | Viscosity, freezing point, balance scoring |
| Acid Concentration | g/L citric eq. | Acid ratio calculation, sour balance |
| Density | g/mL | Volume-to-mass conversion for batch scaling |
| Brix | °Bx | Refractometer-verifiable sugar measurement |
| pH | pH scale | Acid strength via mixed-acid charge balance |
Entity Resolution Chain
Recipes from the wild use inconsistent naming. “Lemon”, “lemon juice”, “fresh lemon”, and “fresh squeezed lemon juice” all mean the same thing. The resolution chain normalizes every ingredient through 5 stages.
Original ingredient text from recipe: "fresh squeezed lemon juice", "2 dashes Ango"
Match against known aliases. "Ango" → Angostura aromatic bitters. "Simple" → simple syrup 1:1.
Assign structural role (anchor, modifier, acid, etc.) and chemical category.
For spirits: match to specific entity with ABV, proof, origin, mashbill where known.
Attach chemical properties: sugar content (g/L), acid concentration, ABV, density.
Substitution Validation
Not all swaps are safe. Replacing lime with lemon changes the acid profile. Replacing simple syrup with honey changes viscosity and sweetness perception. The substitution engine validates every swap against chemical compatibility, re-runs the simulation, and reports the quality impact before committing the change.
Competitive Topology
Ingredients compete for dominance within a recipe. Two strong modifiers can clash; an accent can get buried by an aggressive sweetener. The competitive topology maps these relationships — identifying which ingredients amplify each other, which compete, and which are structurally redundant.
This is the structural model the menu-engineering worksheet runs on: if two cocktails use the same anchor + modifier pair with similar acid/sugar ratios, the engine treats them as structurally equivalent regardless of the garnish or name.