The Demand Signal Already Left Your App
I built an AI that watches TikTok and shops Instacart. What it taught me is a problem for whoever owns the cart.

I built an AI that watches TikTok and shops Instacart. What it taught me is a problem for whoever owns the cart.
Your funnel starts at a search box. Your customer's starts at a video they saved three weeks ago and can no longer find.
Status Quo
Sunday afternoon. I'm scrolling TikTok. Someone makes a sheet pan chicken with herbs and lemon that looks incredible. I want to make it.
Here is what stands between me and that dinner: find the recipe again, decode measurements nobody wrote down, cross-reference what's already in my kitchen, build a list, pick a store, compare prices, and get it delivered in time to cook. Thirty minutes of friction for something that took the creator sixty seconds to film.

Five steps, four apps, and a person doing the routing. Every handoff is a place the order can die, and the only party holding full context is the human in the middle.
I'd built 35+ personal apps by this point, half of them automating something annoying about my own life. This one was different. This wasn't me being lazy. It was a structural mismatch between how recipes live now — short-form video, aesthetic-first, inspiration-driven — and how grocery shopping works: lists, logistics, inventory.
The part that should concern anyone selling delivery: the moment of intent doesn't happen in your app anymore. It happens on a feed you don't own, hours or weeks before anyone opens a cart. By the time a customer reaches your search box, the interesting decision is already made — and made badly, because they're reconstructing it from memory.

The real recipe box is the saved folder, and neither platform lets you search it. Thousands of saves, zero retrieval. That is demand which already exists and cannot be acted on.

The intent accumulates in DMs and likes. Sharing a video with a friend is the single most common way a recipe gets recommended, and it is completely disconnected from commerce.
But wait, can't GPT plan meals?
This is the first question everyone asks, so I tested it properly. It fails, and it fails in a way that's diagnostic.

Four screens of me re-supplying context the model already had. It forgot the quinoa, pulled cream cheese from nowhere, dropped the summer squash. The escalation is the finding.
Context broke first. I asked for a weekly plan for one high-protein adult and one gluten-free teenager. What came back was technically correct and completely useless — quinoa bowls and roasted vegetables no 16-year-old on earth would voluntarily eat. It didn't know that “gluten-free” in my house means gluten-free pasta with butter. Period. Maybe parmesan if I'm lucky.
Memory broke second. Every session started from zero. No recall that Tuesdays are exhaustion nights, that three pounds of chicken thighs are already in the freezer, that I refuse to visit two grocery stores in one week. Each conversation was a stranger trying to feed my family.
Then the store problem cracked it open. I shop at a specific Costco. Not “Costco” as a concept — a specific one, where the organic chicken thighs are in the third aisle on the left and they're out of the good bread every other week. A plan that suggests ingredients I can't buy where I actually shop isn't a meal plan. It's a Pinterest board.
A general model can reason. It cannot remember, and it cannot see your inventory. Those two gaps are exactly where a commerce company already holds assets.
Ok, how can we make this better?
So I built it. It's called Oddkin, and the interaction is deliberately boring: you DM it a video, the same way you'd send it to a friend. No new app to learn, no new habit to build.


Behind that DM is a seven-model ensemble reading comments, captions, voiceover, on-screen text, map locations, and video-to-image — writing into a graph datalake that holds both history and real time.
That architecture is the actual answer to “why hasn't someone done this.” Most recipe videos have no text overlay and no written recipe. The information is in the pan. How generous was the olive oil pour — three tablespoons or four? Is that rosemary fresh or dried? How brown is the sear? Extracting a shoppable ingredient list from that requires reading the video, not the caption.

The stack underneath is an extractor, a media ingestor, planning, chat, and memory. Memory is the one that compounds. The rest is plumbing.

One instruction, a week of dinners: watch my last two weeks of TikToks and build a plan. The saved folder finally becomes a queue.

Three links in, a combined weekly cart out — merged against the existing grocery list rather than replacing it.

Then the step nobody wants to build: mapping an extracted ingredient to a real SKU that is actually in stock at a specific store, with substitutions ranked.

Price comparison happens across stores, with the affiliate margin visible. Note who is making the routing decision here. It isn't the shopper.

And it's proactive rather than prompted — it noticed new saves and offered to shop again. That's a re-order loop that doesn't depend on the customer remembering you exist.
I don't use Instacart, now what?
This is the objection that reframed the whole project for me, and it's the one I'd want a delivery company to sit with.

8M monthly active orders sounds enormous until you read the second half of that line: only 5% of the US consumer app population. The other 95% didn't reject grocery delivery. They're spread across curbside pickup, in-person cult loyalty, subscription meal kits, and “I'll just order DoorDash tonight” — and most run several of those behaviors in the same week.
A quarter of the people I interviewed shop Trader Joe's in person and will not move. From an app's perspective those customers are unreachable. From a context layer's perspective they're completely reachable — you just can't monetize them with a delivery fee. You monetize them by being the thing that knows what they need before they walk in.
The category has been competing on delivery speed and selection. The unsolved problem is upstream of both.
The goal sits above the app

This is the slide I'd put in front of a strategy team. Nobody says “open Instacart.” They say I want to lose 5 pounds, or figure out dinner for the next five weeks. Everything below that instruction — ingredients Sunday night, step-by-step instructions, tacos on Tuesday at 7pm — is routing.
Once an agent holds the goal, every fulfillment provider underneath becomes interchangeable, chosen on price, availability, and speed, in that order, by software with no brand loyalty whatsoever.
That's the threat and the opportunity in the same picture. If the goal layer belongs to someone else, delivery is a commodity underneath it. If it belongs to you, you've moved from fulfilling stated orders to owning the decision that generates them.

Food is the wedge, not the category. The same context layer runs into fitness, shopping, and beauty. MyFitnessPal is 6M monthly actives and $300M ARR globally on a fraction of this data.

Underneath every vertical are two goals: energy and aesthetics. “Lose 5 pounds” and “set a PR” are the same customer, served today by four apps that share nothing.
Trust is a moat
Here's the part I did not expect to be the hard part.
Getting an agent to build a correct cart is an engineering problem, and it's mostly solved. Getting a person to let an agent spend their money unsupervised is a product and permissions problem, and nobody has solved it.

The closest working model is the one Apple already shipped for teenagers: a transaction limit, an ask-to-buy flow, notifications on every purchase, and the ability to pause the whole thing instantly. Permissions, credentials, payments, identities.
Trust gets granted in increments. First it can look. Then it can build a cart I approve. Then it can spend up to fifty dollars without asking. Then it handles the returns — and once it has processed a refund for bruised avocados correctly, it has earned something no ad impression buys.
Whoever holds that permission grant holds the relationship. It is stickier than a subscription, because it isn't a preference. It's an accumulated record of the agent not screwing up.


Capabilities get equipped rather than configured. Meal prep first, then pet care, fitness, personal finance, health — each one a new permission grant on the same trusted relationship.

Meal prep is the beachhead because it recurs weekly, it's high-friction, and it's the one errand nobody has ever enjoyed.
The Taste Graph
Everything above depends on one asset, and it's the one none of these companies are building.
I call it the Taste Graph: a structured representation of who you are, culinarily. Not “Kelly likes spicy food.” It's seasonal — lighter in summer, richer in winter. It's contextual — you cook differently stressed, celebrating, or rushed. It's a preference architecture: you love acidity, avoid bitterness, will eat organ meat but not tripe. It's constraint mapping: flexible on ingredients, strict on technique, and you'll spend $60 on one meal and $6 on another depending on intent.
Every recipe saved, every substitution, every skipped ingredient is training data. After six months it should be able to show you a video and say: this is 91% aligned with your profile. Or: you'll skip the cilantro. You always do.
Here's what makes it defensible. The raw material is already sitting in your order history — you just haven't structured it as preference. My agent read a Trader Joe's receipt, learned that a specific Greek yogurt brand was unacceptable, and never bought it again. That isn't a recommendation engine. That's a memory, and it compounds every week instead of decaying.
I've started thinking about it in three layers. Owned data — my pantry, my freezer, my calendar. Curated data — the recipes I've saved, the favorites I reorder, the videos I screenshot and never open again. Derived data — what an AI produces reasoning across the first two: a plan, a cart sorted by aisle, a substitution when the one critical thing is out of stock.
Those three layers live in different apps, different formats, and different people's heads. Every system I built was an attempt to stitch them together by hand. That stitching is the product.
The demand is for execution
I didn't set out to validate a thesis. I set out to feed my family without losing my mind on a Tuesday. The thesis emerged from the friction.
I ran 51 calls and 135 surveys. 80% of people said they regularly delay real-world tasks because they feel annoying or stressful. 66% said they'd prefer the AI just handle it entirely — not suggest three options, not ask for feedback, just do it. 93% said they'd need proof it was actually done. And 65% said they'd pay $5 to $25 a month for that reliability.
Read that last number against a delivery-fee model. People will pay a subscription for reliable execution — a fundamentally better margin than shaving minutes off a delivery window, and revenue that doesn't evaporate the moment a competitor runs a promo.
The resolution gap is enormous. “Suggest a healthy dinner” sits at one end. “My son ate the leftover rice, there's chicken thawing, it's Tuesday so I'm exhausted, and my Costco is out of the good bread this week” sits at the other. That distance — generic suggestion to household-aware execution — is where the next generation of consumer food companies gets built.
The gap between generic and personalized is actually an entire company. I keep using that line because I keep proving it, accidentally, project after project.
What it looks like when it works
It's a Tuesday, a few years from now. Nobody in the house has thought about dinner.
George — our robot — opens the fridge and looks: the cilantro is wilting on the top shelf, three eggs left, Sunday's rotisserie chicken needs to be used tonight or thrown out tomorrow. He closes it and opens the pantry. Quinoa nearly gone, one can of chickpeas, gluten-free pasta down to half a box. Then the spice rack: cumin's full, smoked paprika almost empty, no fennel — because there's never any fennel. George knows nobody in this house will touch it.
George isn't guessing. Before he arrived, these preferences were loaded in with this household — who lives here, how they eat, what they avoid and why. The sixteen-year-old is gluten-free, non-negotiable. Mom's been on a protein kick for two months, so George has been quietly tilting the week toward it. Dad won't say it out loud, but he leaves anything with fennel on the plate, so George stopped buying it. The little one will only eat food that isn't touching on his plate.
George pulls the Instacart history and sees the rhythm: chicken thighs every Sunday, the Greek yogurt that's been doubling since the protein kick started, the gluten-free bread bought weekly and finished by Thursday. Then he checks Mom's recently bookmarked TikTok recipes. He builds the cart — notices the quinoa is on sale and the chickpeas aren't, swaps accordingly — and places the order in the time it took to read this paragraph.
When the delivery lands on the porch, he brings it in and puts it away. Cold things first, rotating the older yogurt to the front so it gets used, logging expiration dates as he goes. Then George preps for the week using a coBot™-designed vegetable chopper and meat slicer. Assembling high-protein meals in glass containers. Spatchcocking Sunday's chicken dinner. Assembling tomorrow's lunches and setting aside what he'll need in the morning.
Nobody opened an app, built a list, or trained a robot on their family for three months. George simply knew — because the knowing was loaded in before he ever crossed the threshold.
That is the entire thesis, in one kitchen. The smart fridge is obsolete. Robot George is a member of the household. The difference between them isn't dexterity or vision — it's that George arrived already knowing this family. That layer — the portable understanding of how you live — is what no robot ships with today. And it is exactly what I'm building: Mobile Consciousness, the thing that turns a $30,000 machine into yours the moment it walks in the door.
None of that starts with a robot. It starts with a grocery cart, because groceries are the only errand that repeats every single week with enough signal to learn from.
Whoever builds the context layer for food doesn't just win grocery delivery. They end up holding the preference graph that every physical-world agent will need to plug into.
My son still won't eat anything green. The AI still can't remember that. But I'm getting closer to a world where it will — not because I told it, but because it learned from watching how we actually live.
The curation is the creation. Every time I photograph my pantry, update my constraints, or say no, not that, we don't eat that on Tuesdays — I'm not configuring a tool. I'm building an asset.