Shoppable recipes
Shoppable recipes your shoppers can just ask for
A shopper names a dish and how many people it is for. The assistant writes the ingredients, picks the packs from your catalog and adds them in one tap.
In short
Hephon Commerce turns a dish and a number of people, such as "kabsa for 6", into ingredient lines with amounts, matches each line to the pack in your catalog that covers it for the least money, and lets the shopper add everything with one tap.
It works for supermarkets and grocery delivery apps in your own app, on WhatsApp and on calls, in Arabic, Arabizi and English. You do not need recipe pages or tagged ingredients.
Updated
What is a shoppable recipe?
A shoppable recipe is a recipe whose ingredients can go into a store's basket in one step. The idea is old and simple: people decide what to cook first and what to buy second, so a store that answers "what do I need for this?" sells the whole list, not one item.
Most shoppable recipes today are a button. A recipe page, on a publisher's site or the retailer's own, carries an "add ingredients to basket" widget. The retailer or its recipe partner maps each ingredient to a product ahead of time, and the shopper can only buy the recipes someone has already written and tagged.
Hephon Commerce works the other way round. The shopper asks in their own words, the assistant writes the recipe for that number of people, and then it searches your live catalog for each line. Any dish the shopper can name is a shoppable recipe.
How is this different from button-based shoppable recipes?
Recipe platforms such as SideChef and Northfork, and the shoppable-recipe widgets that delivery services such as Instacart offer, start from recipe content. They are good at it: curated recipes with photos, editorial calendars, publisher networks and brand campaigns. If you run a recipe content programme or sell sponsored recipes to brands, they are built for that, and Hephon Commerce is not.
They also need a page. A shopper has to find the recipe first, and the dish has to be one that was written and mapped. A shopper who types "fattoush for 4" into your app's chat, or sends a voice note on WhatsApp asking for machboos for ten, has no page to press a button on.
That is the gap a shopping assistant fills:
- From a sentence, not a page. Any dish, any number of people, in Arabic, Arabizi or English.
- Your live catalog. Each line is searched at the moment of asking, in the shopper's branch, so the card shows what that branch has in stock at its own price.
- Packs, not ingredients. A recipe needs 30 ml of oil; the store sells bottles. The assistant picks the pack and how many.
- Part of the same conversation. The shopper can ask for something cheaper, more people or a swap, and the basket follows.
How does a sentence become a basket?
Four steps, in the shopper's language, on any channel.
- 1
The shopper names a dish
And how many people it is for, in a sentence: kabsa for 6, or a Ramadan iftar for ten.
- 2
It writes the lines
Each ingredient with an amount in grams, millilitres or pieces, and the cooking steps.
- 3
It matches your packs
Each line is searched in the shopper's branch, checked, and given the pack that covers it for the least money.
- 4
One tap adds it all
Staples the shopper may already have stay out. Nothing is ordered until the shopper confirms checkout.
The amounts are the important part. Every ingredient line carries an amount in grams, millilitres or pieces. For each line the assistant searches your catalog, drops matches that are not the ingredient (the top hit for "parsley" can be parsley-flavoured chips), and keeps to the kind of product of the best match, so fresh garlic stays fresh garlic and is not swapped for garlic powder because it is cheaper. Among those, it picks the pack that covers the amount for the least money and works out how many: one kilo of pasta is one 1 kg pack or two of 500 g, whichever costs less.
Staples such as salt, pepper, oil and sugar are matched too, but listed under "You may already have" and left out of "Add all". An ingredient the store does not sell is named on the card as not in the store, and the assistant says so in its reply. The steps to cook the dish come with the card.
What does it look like to the shopper?
The first reply to "kabsa for 6" in the live demo store.
- Shopper:
kabsa for 6
- Assistant:
أبشر، هذي مكونات الكبسة لـ 6 أشخاص. ما لقيت "بهارات كبسة" جاهزة، فتقدر تختار اللي تحبه من قسم البهارات. تبغاني أضيف لك باقي المقادير للسلة؟
Sure, here are the kabsa ingredients for 6 people. I did not find a ready kabsa spice mix, so you can pick the one you like from the spices section. Shall I add the rest of the ingredients to your basket?
Wrote 10 ingredient lines, found 9 in the catalog, showed a recipe card with "Add all 6 · $18.93" and the cooking steps.
Three dishes from the live demo store
Real recipe cards from the demo store, one new chat each, line by line as the cards showed them.
Kabsa for 6
Serves 6, about 1 hour. 10 ingredient lines, 9 found. Add all: 6 lines for $18.93.
| Recipe line | Product and pack picked | Packs | Price each | In “Add all” |
|---|---|---|---|---|
| 1.2kg chicken pieces | Hawa Chicken Chicken Thighs 1 kg | 2 | $1.90 | Yes |
| 600g basmati rice | Taj Basmati Diabetes 908 g | 1 | $6.15 | Yes |
| 2 onions, chopped | Fresh Mini Onions 500 g | 2 | $0.56 | Yes |
| 3 garlic cloves, minced | Fresh Garlic 250 g | 3 | $0.94 | Yes |
| 400g chopped tomatoes | Mutti Finely Chopped Tomatoes Tin 400 g | 1 | $3.79 | Yes |
| 30g tomato paste | Min Dayaa Tomato Paste Jar 300 g | 1 | $1.25 | Yes |
| 15g kabsa spice mix | Not in the store | 0 | None | No |
| 30ml vegetable oil | Mazola Corn Oil 1.5 L | 1 | $7.69 | No (you may already have it) |
| 10g salt | Kirkland Spice Pure Sea Salt | 1 | $8.99 | No (you may already have it) |
| 5g black pepper | Aoun Black Pepper 50 g | 1 | $1.75 | No (you may already have it) |
Fattoush salad for 4
Serves 4. 10 ingredient lines, 9 found. Add all: 7 lines for $10.24.
| Recipe line | Product and pack picked | Packs | Price each | In “Add all” |
|---|---|---|---|---|
| 400g lettuce | Biomass Organic Fresh Green Oak Lettuce 400 g | 1 | $2.25 | Yes |
| 200g tomatoes | The Happy Farmer Conventional Red Tomatoes 500 g | 1 | $1.45 | Yes |
| 150g cucumber | Fresh Cucumber 500 g | 1 | $1.12 | Yes |
| 50g radish | Agrifresh Radish picked & Sanitized 200 g | 1 | $1.40 | Yes |
| 50g fresh mint | Fresh Mint 1 Pieces | 1 | $0.52 | Yes |
| 50g fresh parsley | The Happy Farmer Fresh Chopped Parsley 150 g | 1 | $2.25 | Yes |
| 100g pita bread | WB Bran Pita Bread Small 360 g | 1 | $1.25 | Yes |
| 15g sumac | Not in the store | 0 | None | No |
| 30ml olive oil | SAIFAN Olive Oil 250 ml | 1 | $3.99 | No (you may already have it) |
| 30ml lemon juice | Fresh Lemon 1 kg | 1 | $5.22 | No (you may already have it) |
Pancakes for 4
Serves 4, about 20 minutes. 5 ingredient lines, all found. Add all: 2 lines for $3.74.
| Recipe line | Product and pack picked | Packs | Price each | In “Add all” |
|---|---|---|---|---|
| 2 eggs | Hawa Chicken Red Eggs 6 Pieces | 1 | $1.25 | Yes |
| 300ml milk | Lactel UHT Semi Skimmed Milk 1 L | 1 | $2.49 | Yes |
| 250g flour | Gold Medal Flour - 1kg | 1 | $1.89 | No (you may already have it) |
| 30g sugar | Tate & Lyle Granulated Sugar 500 g | 1 | $2.99 | No (you may already have it) |
| 10g baking powder | Aruba Baking Powder 100 g | 1 | $0.95 | No (you may already have it) |
What the captures show
The demo store is Hephon Market, a real quick-commerce catalog of about 15,000 products under a neutral name, with prices in US dollars. The cards above are what it returned on 5 November 2026. We did not edit them.
- The pack rule worked where amounts are weights: 1.2 kg of chicken became two 1 kg packs, 300 ml of milk one 1 L carton, 30 ml of olive oil a 250 ml bottle rather than a litre.
- Ingredients the catalog lacks were named, not hidden: no ready kabsa spice mix and no sumac, and the reply said so.
Another dish we asked for, "chicken shawarma for 4", did not come back as a recipe: the assistant offered a ready-made chicken shawarma and fresh chicken breast and asked which the shopper wanted. That is a reasonable answer for a dish many people buy ready, but it is not a recipe card, so we left it out of the tables.
What happens when a pack is out of stock?
Substitution starts before the shopper sees anything. A recipe only matches products that are in stock in the shopper's branch, so a pack that ran out this morning is never on the card. If a smaller or larger pack of the same product is in stock, the pack rule simply picks that one and adjusts the number of packs.
When no product in stock fits a line, the card marks it as not in the store and the assistant tells the shopper in its reply, as it did for sumac and kabsa spice above. The shopper can then ask for an alternative, and the assistant searches again.
Out-of-stock products cannot be added to the basket on any channel. If a shopper asks for one by name, the assistant says it is out of stock and offers something similar that is in stock.
For what goes missing later, between the order and the packing, the retailer can let shoppers choose. When it is turned on, the assistant asks once, after adding to the basket, what the store should do if an item is unavailable at packing time: a similar replacement, leave it out, or a specific product the shopper picks. The answer is recorded with the basket, and the store can set its own default.
On WhatsApp, a shopper who moves to another branch keeps the basket: items the new branch does not sell are removed and the assistant offers substitutes from that branch.
What it does not do
Recipes are one feature of a shopping assistant, not a recipe platform.
- No recipe library or recipe pages. It writes a recipe when asked. If you want an editorial recipe site with photography and SEO pages, a recipe platform is the better tool.
- No order without a confirm. "Add all" fills the basket; the order is placed only when the shopper confirms checkout.
- Recipes are written by an AI model. Amounts and steps are typical home-cooking ones, not a tested recipe book. Shoppers can change people, swap ingredients or ask again.
- Only as good as your pack data. A product with no size in the catalog cannot be matched to an amount well. We check this with you before launch.
Live in three steps.
- 1
Connect your catalog
From Shopify, WooCommerce, a product feed or your API, with each branch's prices, stock and pack sizes.
- 2
Test it on your products
We run recipe and basket requests generated from your own catalog before anything goes live.
- 3
Turn it on in a channel
In your app, on your WhatsApp Business number or on calls. Recipes work the same in each.
Shoppable recipes, answered.
Try a dish on your own catalog.
We set up a demo with your products, your pack sizes and your branches, and ask it for your shoppers' favourite dishes.








