AI for Delis: Daily Specials, Platter Orders and Allergen Labels

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI for Delis: Daily Specials, Platter Orders and Allergen Labels.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI for Delis: Daily Specials, Platter Orders and Allergen Labels.

A deli can use AI for three bounded jobs: drafting daily specials from stock on hand, turning platter requests into a priced order form, and pulling allergen details out of supplier sheets into a table. AI drafts all three, but a named person verifies every allergen label against the pack and the recipe before anything is printed.

Specials and platters are low-risk, and AI speeds up both. Allergen labels are the opposite: a confident wrong line can seriously harm a customer, so this setup treats AI as an extractor of what the supplier wrote, never as a source of allergen knowledge. The walkthrough follows one illustrative deli through a four-week set-up, with every count and price invented for the example.

Follow me on Instagram@sagnikteaches

The deli in this walkthrough

Picture a small deli with a service counter and a chiller. It stocks 38 bought-in products (cheeses, cured meats, breads, sauces and dressings), makes 24 items itself (salads, relishes, soups), sells sandwiches at lunchtime and takes about 12 catering platter orders a week. Six people work there. The owner runs the counter, and the head of the kitchen is the "allergen lead", the person whose signature goes on every allergen record.

Connect on LinkedInSagnik Bhattacharya

Before the project, allergen information lived in a ring binder that nobody could date, specials were chalked up from memory at 8:30 each morning, and platter orders arrived by phone as scribbled notes with prices worked out on the back of a receipt. Those three habits are the three jobs. The plan runs one job a week, with a fourth week for checking.

Subscribe on YouTube@sagnikteaches
WeekJobWhat exists at the endWho signs off
1Allergen table from supplier sheetsOne verified row per product, dated and initialledAllergen lead
2Platter order form and price tableAn online form, three priced platters, a confirmation templateOwner
3Daily specials routineA ten-minute morning prompt and an eight-point quality checkOwner, with the allergen lead for the allergen line
4AuditFive labels checked against packs each week, with a logAllergen lead

Week 1: supplier sheets in, allergen table out

Start with the information you already hold. For each bought-in product, collect the supplier's specification sheet, or a clear photo of the pack's ingredient panel if there is no sheet. In the walkthrough, 29 of the 38 products had a PDF, 6 needed a photo, and 3 suppliers had to be emailed for a sheet at all. That gathering took the longest, about four hours, and no AI is involved in it.

Which allergens get a column depends on where you trade. One widely used list names nine major allergens: milk, eggs, fish, crustacean shellfish, tree nuts, peanuts, wheat, soybeans and sesame. Other lists are longer and add items such as celery, mustard, lupin, molluscs and sulphites. Build your columns from the list your own food-safety authority publishes, and ask the same authority how information must appear on loose and pre-packed food, because the rules differ between the two.

Then run each sheet through the same extraction prompt. Its job is to copy and classify, not to know anything:

Extract allergen information from the supplier text below.
1. Quote the ingredient list exactly as written. Do not rewrite it.
2. For each allergen column (wheat/gluten, milk, egg, tree nuts, sesame,
   plus the rest of my list) write one of:
   YES = the text names it
   NOT LISTED = the ingredient list is complete and does not mention it
   UNCLEAR = the wording could hide it ("mixed seeds", "natural flavours")
   SHEET INCOMPLETE = no ingredient list in the text
3. Never infer from the product name or from what a typical recipe holds.
4. Copy any "may contain" or "produced where..." wording word for word
   into its own column.
5. If the table in the sheet looks misaligned or a page seems missing,
   say so in a Flag column.
Output one row per product: product, supplier, sheet date, quoted
ingredients, one column per allergen, may-contain wording, flag.

A reply for four products, trimmed to six columns (illustrative):

ProductWheat/glutenMilkTree nutsSesameMay-contain wordingFlag
Sourdough loafYESNOT LISTEDNOT LISTEDUNCLEARNone quoted"Mixed seeds" not specified
Basil pesto, jarNOT LISTEDYESYES (cashew)NOT LISTED"May contain other nuts"None
Smoked turkey, slicedNOT LISTEDNOT LISTEDNOT LISTEDNOT LISTED"Produced where milk and mustard are handled"Check the mustard column, not shown here
Mature cheddarNOT LISTEDYESNOT LISTEDNOT LISTEDNone quotedNone

The extra word choices matter. "NOT LISTED" says what the document contains, which the assistant can report; it deliberately doesn't say "free from", which is a claim about the food. "UNCLEAR" gives the assistant a place to put wording like "mixed seeds" instead of guessing, and the may-contain column keeps the supplier's own phrasing intact, so that your policy on such statements stays your decision. For ingredient panels in photographs, ask the assistant to transcribe the panel first, and check the transcription yourself before it goes further.

How the allergen lead signs off a label

In the walkthrough, the allergen lead checked all 38 rows against the packs and sheets over about four hours. The AI runs themselves took forty minutes. The checking found three things, and they are the reason the routine exists.

  • Seven rows said UNCLEAR and were settled by reading the pack. The sourdough's "mixed seeds" turned out to include sesame, so that cell became YES.
  • Two rows were simply read wrongly. One supplier's PDF grid had its columns shifted by one, so the garlic mayonnaise row put its egg tick under fish, and the assistant had flagged nothing. A person with the jar in hand saw "egg yolk" in the ingredients in seconds.
  • Three products had no usable sheet at all. They stayed off the verified list until the suppliers replied.

A sign-off has five steps, and none of them can be done by the assistant. The lead ticks every cell of every row against the pack or sheet. For house-made items, the lead builds the roll-up from the recipe card, listing each ingredient and pulling its row from the verified table; the AI can compile that union, and the lead checks it. The lead then decides the policy on cross-contact and may-contain wording, because that depends on the shared slicers, boards and fryers in the actual kitchen, which no document describes. The table gets a name, a date and a version number, and labels print only from a signed version. Finally, the lead keeps a change trigger list: a new supplier, a new pack size, a substitution on delivery, or any ingredient panel that looks different. Any of those sends the product back to unverified until a person has looked again.

The cheapest safeguard is a ten-second glance at the pack of each watch-list product at delivery: breads, sauces, dressings, anything seeded or coated. If the panel differs from the table, the item comes off the counter until it is re-verified. The allergen icons and dietary labels tutorial covers laying out and printing the labels once the table is signed.

Adding a new product later: five lines on one card

The table only stays true if new products enter it the same way every time. Keep this on a card by the delivery door:

  1. No product goes on the counter until a supplier sheet or a clear photo of the full ingredient panel is on file.
  2. Run the extraction prompt on it and paste the row into the table as "unverified".
  3. The allergen lead checks the row against the pack, resolves every UNCLEAR, and signs it with the date.
  4. Any recipe that uses the product is re-rolled-up, and its label is reprinted if the allergen line changes.
  5. The product's claim columns (house-made, local, vegan and so on) are filled in by a person, never by the assistant.

Week 2: a platter order form that works out the price

The form replaces scribbled phone notes. In the walkthrough it was built in a form tool of the Google Forms kind, and the AI wrote the wording. It captures the customer's name and phone number, collection or delivery, the date and time, headcount, platter and size, extras, a payment or deposit line for orders above an amount the owner sets, and a lead time the kitchen can actually meet (48 hours here). It also holds a row of tick boxes that mirror the allergen columns, plus an open box: "Anything else we should know about allergies or diets?"

Pricing is where the assistant earns its keep. The owner supplies real costs; the assistant turns them into a price table and shows its working. The owner's rule in this example is a 55 per cent margin, meaning profit is 55 per cent of the selling price, so the price is full cost divided by 0.45. That target belongs to the example deli, not to the industry. Labour is priced at $18 an hour.

PlatterIngredientsPackagingLabourFull costPricePer head
Sandwich platter, serves 10$21.60$2.40$12.00 (40 min)$36.00$80$8.00
Cheese and charcuterie board, serves 8$38.00$4.00$9.00 (30 min)$51.00$115 (from $113.33)$14.38
Vegetarian salad platter, serves 12$19.20$3.00$13.50 (45 min)$35.70$79 (from $79.33)$6.58

Ask for the working row by row and check one row with a calculator. Language models do sometimes slip on arithmetic, and a platter priced $8 low costs more than the checking ever will. Then move the figures into a spreadsheet so the table lives somewhere other than a chat. The cost-per-person catering sheet tutorial goes further into staffing ratios and equipment for larger jobs.

One rule sits above the form. If the allergy box is not empty, the order is flagged "needs allergen review", and the allergen lead replies personally from the signed table. The assistant never answers an allergy question. Every confirmation, whether or not the box was filled in, carries the platter's allergen card from the signed table, with its date. An illustrative confirmation template:

Hello [first name], thanks for your order: one sandwich platter (serves 10) for collection on [date] at [time], $80 in total. The attached allergen card lists what the platter contains, taken from our signed table dated [date]. Your order notes mention [customer's note], so [allergen lead's first name] will phone you before [date] to confirm what we can and can't do. If the number of guests or anyone's needs change, please tell us at least 24 hours ahead.

One awkward order, from request to pick-up

The test of the form is the order that doesn't fit. On a Monday at 10:15 a request arrives for Friday at 12:30: 22 guests, two sandwich platters and one vegetarian salad platter, which comes to $239 and triggers the deposit line. The allergy box says one guest has a sesame allergy and another is vegan.

The form's rule flags it "needs allergen review". The assistant's only job at this point is to prepare the ground: it writes a one-line summary for the allergen lead (order, date, headcount, the two notes) and lists the table rows to look at, which here are the breads, the spreads and the dressings. The lead phones the customer at 11:00 with the table open. The sourdough row says sesame is present, so it can't be used. The house tahini dressing is sesame by definition, so the salad needs a different dressing. The ciabatta row says sesame is not listed, so ciabatta is a candidate. Then comes the decision that belongs to the lead alone: seeded bread and tahini are handled on the same bench, so the kitchen can offer sesame-free ingredients but won't promise a sesame-free platter. The customer is told that plainly, and decides whether it suits their guest.

Only after that call does the assistant write the amended confirmation and the prep sheet for Friday: ciabatta only, no seeded bread, lemon-oil dressing in place of tahini, platters prepared first on a cleaned bench with separate utensils, and the vegan portions labelled once the lead has checked the claim row for each ingredient. Everything the assistant produced was paperwork. Every decision about risk was made by a person who could see the kitchen.

Week 3: daily specials from what is in the chiller

The morning routine takes about ten minutes. The owner lists what must be used first, with use-by dates and portion costs, and asks for three candidates. The allergen line is not typed by the assistant from memory; it is rolled up from the signed table, which the prompt pastes in, and any ingredient missing from the table stops that special until the lead has added it.

Use-first stock: 2 kg sliced roast turkey (use by Thursday), 1.2 kg brie
(use by Friday), 18 ciabatta rolls, house cranberry relish, mixed leaves.
Portion costs: turkey 80 g $1.10; brie 40 g $0.85; ciabatta roll $0.45;
relish 30 g $0.20; leaves 20 g $0.15.
Target: ingredient cost no more than 30% of the price; price between
$8.50 and $11.
Allergen data: use ONLY the table pasted below. If an ingredient is not
in it, write NOT IN TABLE and stop for that special.
[paste the signed rows for these five ingredients]

Write three specials. For each give: a name, a description of 20 words
or fewer using only facts from this message, portion cost, suggested
price, and the allergens rolled up from the table with the row each came
from. Do not describe cooking methods, provenance or freshness that I
have not told you.

An illustrative first reply, before checking:

SpecialDraft descriptionCost and priceAllergens (as drafted)
Turkey, brie and cranberry ciabattaSlow-roasted house turkey, creamy brie, tangy cranberry relish and leaves on a freshly baked ciabatta roll.$2.75, $9.50 (28.9%)Wheat
Warm turkey and brie saladTurkey strips, brie and mixed leaves with house cranberry relish.$2.30, $8.50 (27.1%)Milk
Brie and turkey toastieToasted ciabatta with turkey, melted brie and relish, leaves on the side.$2.15, $9.50 (22.6%)Wheat, milk

The first row fails three checks at once. "Slow-roasted house turkey" and "freshly baked" describe a bought-in sliced turkey and bought-in rolls, and the allergen line lists wheat but leaves out the milk in the brie, even though the table row says milk. The prompt asked for exactly this to be avoided, and the assistant still did it, which is why the check below exists. The owner's version reads "Roast turkey, brie, house cranberry relish and mixed leaves on a ciabatta roll. Contains wheat, milk." The menu descriptions tutorial covers keeping the wording in your own voice.

The third row hides a quieter fault. Its $2.15 cost leaves out the roll and the leaves; the five portions add up to $2.75, so the true ingredient cost is 28.9 per cent of the price, not 22.6. That still meets the target at $9.50, but had the owner trusted the draft and dropped the toastie to $8.50, the real figure would have been 32 per cent, over the 30 per cent line. Nothing in the reply looked wrong, which is why the price check below adds up the portions by hand.

The menu-quality check every special passes first

The owner runs these eight checks before anything is chalked up. They take about two minutes, and they are the difference between a special that sells and one that misleads.

CheckWhat it catchesExample from the walkthrough
1. Recipe matchItems named that aren't in stock or on the recipe cardA draft added rocket; the chiller holds mixed leaves only
2. Allergen line from the signed tableMissing or invented allergensMilk dropped from the brie row
3. Claim words"House-made", "freshly baked", "local", "gluten-free", "vegan" with no data row behind them"Freshly baked" ciabatta that arrives ready-made
4. Price against costArithmetic slips and prices that miss the 30 per cent targetThe toastie draft costed $2.15, leaving out the roll and leaves; the true figure is $2.75
5. Method and provenanceInvented cooking times and origins"Slow-roasted" removed; the turkey arrives sliced
6. Portion fitDescriptions promising more than 40 g of brie delivers"Generous helping of brie" changed to "brie"
7. Name and formatDuplicate names, price style, spellingA name already used for last week's sandwich
8. Team read-aloudStaff who haven't seen the specialAllergen line read aloud once before doors open

Checks 3 and 5 matter most for trust. A customer who reads "house-smoked" and later learns the fish arrives smoked has been told something untrue, whatever the intent. Keep a one-line column in your product data for each claim you might ever want to make (house-made, local, vegan) and let the assistant use a claim word only where the row says yes.

Week 4: audit five labels at random and read the numbers

Each Friday the allergen lead picks five labels or menu lines at random, finds the pack or recipe behind each, and compares it with what was printed or chalked. The results go in a one-line-per-check log: date, item, matched or not, and what was done. Over the first four Fridays of auditing that made 20 checks. Nineteen matched. One did not: a bun supplier had changed its sheet to a sesame-topped bun, and the table still said no sesame.

The assistant had not made that error. It had faithfully extracted a sheet that was later replaced, which is the point of the audit: the weak link in this system is a supplier changing a recipe quietly, not the AI misreading a PDF. The fixes were an email asking every supplier to send change notices, a standing rule to check the pack of watch-list products at delivery, and one new column in the table recording the date each sheet was issued. The affected product came off the counter for the afternoon while the label was corrected and the line was re-signed.

Write the stop rule down before you need it: if any audit finds an allergen error, AI extraction is paused for that supplier, every product from them is re-verified within two days, and the incident is logged with what changed. The rule stays in force until the lead lifts it, and the owner hears about it the same day.

The first month's hours, and the counter rule that follows

For the walkthrough deli, the first month looked like this (all figures illustrative): about nine hours for the allergen table, with four of them gathering sheets and four checking; about two hours for the form and price table; and a ten-minute morning routine for specials, against about twenty-five minutes of chalking and costing before. Platter orders took around five minutes each to process, down from twelve. The assistant itself was one $20-a-month plan (ChatGPT Plus and Claude Pro are each $20), and a free plan would have handled the text work. The real cost is the lead's time, which is why the sign-off is scheduled, not left to the end of a shift.

The counter rule is simple. Customers asking about allergies get a person, who checks the signed table or the pack and says plainly when they don't know. The assistant prepares the information behind the counter and never speaks in front of it. The tutorial on chatbots and allergen questions explains why a customer-facing bot is the wrong place for this job. And if any of the above is unclear for your market, your local food-safety authority can say how allergen information must be shown for the foods you sell, which is a conversation to have before the first label is printed.

Deli questions about AI and allergens

Can AI read a supplier PDF and list the allergens?

It can extract what the sheet says, but table layouts sometimes shift columns and a missing line means not stated, not absent. Ask it to quote the supplier's text, mark every gap as not stated, and have a trained person check each row against the pack in hand. Treat the AI output as a first draft of the table, never as the answer.

Which allergens must a deli label declare?

The list depends on where you trade, so use the one your own food-safety authority publishes. One widely used list names nine major allergens, and other lists are longer. Ask the same authority how information must be shown for loose and pre-packed food, because the rules differ between the two. Build your table columns from that list.

Should an AI chatbot answer customers' allergy questions?

No. A customer asking about an allergy needs an answer from a trained member of staff who checks the signed allergen table or the pack. A chatbot has no way of knowing that a supplier changed a recipe this week. Use AI behind the counter to prepare the information, and keep people in front of it.

How often should the allergen table be re-checked?

Re-check a product whenever its supplier, pack size or ingredient panel changes, and glance at the pack of watch-list items (breads, sauces, dressings, anything seeded) at every delivery. On top of that, set a fixed review, such as a full re-verification each quarter. That schedule is a suggestion, so agree your own with whoever signs the labels.

Further reads

Sources: published allergen guidance from a national food-safety authority (the list of nine major food allergens); longer lists are described in general terms and should be confirmed with your own authority. All prices, counts and timings in the walkthrough are illustrative.

Want your allergen records set up safely?

On a 1:1 call we'll map how supplier information reaches your labels today, set up an extract-then-verify routine with a named signer, and decide what stays manual.

Book a 1:1 call with me