STORE AI
every chain has one now
- Lives inside one store — sees one shelf
- Optimised for basket size
- Can’t say a rival is cheaper — it works for the house
- Can’t say “wait” — a delayed sale is lost revenue
OMNI · BUYER-SIDE AI · CZECH GROCERY MARKET
A shopping agent that reads the whole market — Rohlik, Košík, Globus, Albert — and answers to none of them. It builds the basket, audits every label, and tells you when a price is about to drop.
every chain has one now
buyer-side
Their loyalty belongs to the store. Ours belongs to you.
“Something quick tonight — I love stir-fries and anything Thai.” Plain language in, a complete basket out. No search, no filters, no browsing.
Every offer for every item across all four chains — current price, price history, stock. A store’s AI sees one shelf. Omni sees them all.
Labels, ingredients, nutrients, brand record — graded like a rating agency: A− B C+. Cheapest ≠ best value. Premium ≠ better milk.
The whole basket lands where the total — delivery included — is lowest. And if a sale is ~2 days away, it suggests waiting.
Personalisation here isn’t a settings page. It’s a two-part memory that every conversation quietly updates — the chat itself is distilled into structure, and the prose is thrown away.
The facts about your life no form would ever ask for. An agent listens along, extracts them, and files them as structured records — not transcripts.
A numeric profile the scoring engine reads on every basket. It shifts a little every time you accept, swap or reject an item — nobody fills in a questionnaire.
per-category tolerance: meat 0.9 coffee 0.9 pasta 0.1 — a meat connoisseur who buys budget pasta.
HARD LINES Allergies and dealbreakers aren’t weights. They delete a product before scoring even begins.
The basket is step one. The same memory learns the patterns inside every dish you loved — and starts cooking with them.
Don’t know what you want? Omni ranks dishes against your taste vector and tonight’s prices — a dish is a great pick when its ingredients are on sale.
this week, for you:
chicken stir-fry match 0.93 · on sale
mushroom risotto match 0.88
smash burgers match 0.84
Omni mines what your favourite dishes have in common — char, garlic, acidity, heat — and composes a new one from those patterns. You’ve never tried it. You’re built to like it.
composed for you tonight:
smoked-paprika chicken,
charred corn cream, dill
identity: 35% mexican · 25% slavic
· 20% italian · 20% new
Every dish carries identity. Averaged over everything you cook, it adds up to a nationality.
People pay hundreds for a DNA kit to learn what they’re made of. Omni maps it from what you love to eat — and then cooks to it.
Anyone can wire a chatbot to a store API. Omni is the protocol stack around the model — every stage exists to shrink what the next one has to think about.
Two agents split your message: one compresses it into a structured request, the other quietly files what it learned about you into memory.
“hey — something quick tonight?
i don’t have an oven btw”
↓
{ meal: dinner,
effort: low,
constraint: no_oven }
The catalog never enters the model. It’s embedded into vector space ahead of time; your request lands next to what it means — in any language — and pulls out a shortlist.
41,208 products
→ vector search
→ ~24 candidates
the model reads a page,
not a catalog
The shortlist meets your weights and live prices. Quality is read off the actual label; value is graded like a rating agency. No vibes — arithmetic.
candidates
× preference weights
× live prices
→ grades A+ … D
Chains around you are indexed too: coverage, delivery fee, minimum order, slots. The basket is priced end-to-end at each store.
basket × 4 chains
+ delivery · minimums · stock
→ one store wins
Each stage cuts the context by an order of magnitude. By the time the model reasons, the whole market is a page of structured candidates — that’s what makes every basket fast, private and nearly free to compute.
VFM = quality( label · nutrients · source )
÷ effective_price
grade ∈ { A+ … D } // rating-agency scale
exact weights — proprietary
Every label is machine-read and checked against the actual ingredient list — marketing claims don’t survive contact with the back of the pack.
price history → discount cycle → P( sale ≤ 2 days )
verdict: WAIT · est. −25%
Groceries are the biggest and least efficient market there is. Discounts run in cycles — the agent has seen every one of them and times your basket to the dip.
baseline vs “was” price → inflation check
no fake-discount inflation detected
A “30% off” from a quietly raised base price is not a discount. Omni keeps the receipts and calls it.
for each chain at your address:
coverage · delivery fee · min order · slots
→ basket priced end-to-end · one store wins
Splitting a basket across four stores looks clever until the delivery fees land. Omni prices the whole basket per chain — delivery included — and commits to the winner.
Not a concept deck. The pipeline runs today — data, vectors and agents on production infrastructure.
Found this page and have a question, an idea or an offer — one line is enough.
info@omnifoundry.dev