Recommending wine with food
The cashier-side suggestion AI and the customer-facing menu AI both make wine recommendations. This page explains the logic they follow, so your staff can recognise a good pairing call (and override one when the AI is wrong for your house).
This is also a training reference: a server reading this page understands why the AI suggests what it suggests, and can defend or replace the pick at the table.
What it does
A good pairing isn’t magic — it’s four practical levers. When the AI matches wine to food, it weighs these in order:
- Cut or echo the dominant fat. Fatty dish → wine with acidity or tannin to cut. Lean dish → wine with body that doesn’t overpower.
- Match the dominant flavor, not the protein. Duck with cherry glaze pairs with the cherry, not the duck. Tuna with soy pairs with the soy, not the tuna.
- Respect the regional pair. Sangiovese with tomato. Riesling with pork. Champagne with anything fried. These work for reasons centuries old — don’t be cute.
- Match the moment. Summer lunch → lighter, brighter, lower-alcohol. Winter braise → heavier, riper, higher-tannin.
How to use it
The default direction, by dish
| Dish | Lever | Wine direction |
|---|---|---|
| Tomato-based pasta | Echo acidity | Sangiovese, Barbera, Frappato |
| Cream-based pasta | Cut fat | Verdicchio, unoaked Chardonnay, Franciacorta |
| Margherita pizza | Echo + cut | Sangiovese, Aglianico, Negroamaro |
| Grilled red meat | Tannin matches char | Nebbiolo, Cabernet, Syrah |
| Roast poultry with sauce | Match the sauce | Cherry sauce → Pinot Nero. Lemon → Vermentino. Mushroom → Barbera. |
| Fish, simply prepared | Light body, high acid | Vermentino, Gavi, Soave |
| Fish, with sauce | Match the sauce intensity | Butter → Chardonnay. Herbs → Sauvignon Blanc. |
| Mature cheese | Echo or contrast | Echo: aged red. Contrast: late-harvest white. |
| Dessert | The wine must be sweeter than the dish | Moscato, Passito, fortified |
When the AI gets it wrong for your house
The AI follows generic principles. Your house may not. Override by writing a Voice entry in the venue knowledge section that captures your style:
- “We never recommend Bordeaux — natural wine only.”
- “Our house pairing for the carbonara is the Falanghina, not the Frascati. Use that as default.”
- “We pour Lambrusco with everything fried, including the calamari.”
Once written, the AI uses your override every time. Don’t fight the AI’s defaults with every guest — write the rule once.
When to override at the table
Guest tells you they only drink white. Pair within the constraint. The four levers still apply — the colour just changes.
Guest tells you they want something “interesting.” That’s a signal to step away from the safe default. Reach for the less-obvious wine on the list, with a one-sentence reason: “This is a Frappato — same family as Sangiovese but lighter, much rarer. Goes with the tomato in a different way.”
Guest tells you they want the best wine. Stop reading the food. Pour the wine they want; the food will be fine.
What happens behind the scenes
When the AI generates a pairing:
- It reads the cart (what’s currently ordered) and the dish in question.
- It looks up the structured facts about the dish in the menu knowledge graph — what’s the protein, the dominant flavor, the region, the technique.
- It scans the wines currently available at your venue and ranks them against the four levers.
- It then reads any voice or signature entries in your venue knowledge that mention “wine,” “pairing,” or the specific dish, and overrides if you’ve stated a house preference.
- It generates one recommendation with a one-sentence reason.
It does not recommend wines that aren’t on tonight’s menu, and it does not quote critic scores or invent provenance.
Examples
- 🍕 Standard — Customer orders pizza Margherita and asks for a glass. AI: “The house Aglianico — its tannin lifts the buffalo milk, and the volcanic minerality matches the basil.” Reason follows the levers; specific wine is from your active list.
- 🍅 House override — You’ve written a voice entry: “Falanghina with carbonara.” Customer orders carbonara. AI: “Falanghina, our house pairing — the apple note refreshes the egg yolk.” It used your wording, not its own.
- ⚠️ Edge case — no good pair on the list — Customer orders something the venue doesn’t pair well (e.g. a curry-leaning special, on an Italian list). The AI surfaces the closest option and says it’s an unusual pair: “The Gewürztraminer is the closest match we have — it can handle the spice.” Honest beats clever.
Related features
- How the AI uses your food & beverage knowledge — where pairing reasoning fits in the bigger picture
- Writing good dish descriptions — Part 4 of the dish description pattern is the suggested pairing