Groceries.

Agent demo · New York · Sep 2026

I keep two grocery accounts and neither one knows what the other is charging. Costco through Instacart for bulk — meat, coffee, 40 oz tubs of yogurt — and FreshDirect for produce I want that week. So the agent does two things with them. First it summarizes both carts — every line, on one unit basis, with each shop's own fees and credits. Then it recommends, where the same product is quietly cheaper and where a change is not worth making.

This is the run, reformatted to fit this page — every figure in it real, including the swaps it found and everything it turned down: the potato bag that fails on quantity, the frozen corn, the Wagyu, the seaweed.

The prompt

groceries

One word. It works the same typed here or sent as a chat message from my phone.

The response

FreshDirect — 5 items — $19.39
  Equal Exchange, Organic Bananas              $2.99   $1.20/lb
  Springer Mountain Farms, Chicken Thighs     $11.86   $6.59/lb
  Wells Homestead Acres, Green Zucchini   x2   $2.19   $1.99/lb
  Gold Potato                             x2   $1.61   $1.79/lb
  Jumbo Yellow Onion                           $0.74   $0.99/lb

Instacart / Costco — 16 items — $325.72
  list $340.32 · item discounts −$14.60 applied
  Kirkland Beef Ribeye Steak                  $79.17  $20.89/lb
  Kirkland Beef Chuck Short Ribs              $74.76  $18.69/lb
  Fairlife Protein Shake, 30g                 $43.99   $3.83/oz
  Kirkland Cutlery, 360-count                 $17.59   $0.05/ea
  San Pellegrino Soda Italiana, Variety Pack  $16.49   $1.48/oz
  Mayorga Organic Coffee, Whole Bean          $14.84   $7.42/lb
  Kirkland Original Bratwurst, 3.5 lb         $13.19   $0.94/ea
  Kirkland Organic Roasted Seaweed            $10.99  $18.32/oz
  Mixed Bell Peppers, 6-count                  $9.89   $1.65/ea
  Gourmet Tomato Medley, 2 lb                  $8.79   $4.39/lb
  Super Sweet Corn, 8-count                    $8.79   $1.10/ea
  Sweet Onions, 5 lb                           $7.14   $1.43/lb
  Organic Crimini Mushrooms, 24 oz             $7.14   $0.30/oz
  Chobani Protein Greek Yogurt, 40 oz          $5.16   $0.13/oz
  Old Tyme Hot Dog Rolls, 16-count             $3.95   $0.25/ea
  Golden Pineapple                             $3.84   $3.84/ea

Costco checkout (Instacart)
  Delivery                        +$0.00  (was $7.99)
  Service fee                     +$9.45  (was $16.29)
  Priority fee                    +$0.00
  Regulatory response fee         +$5.99
  Estimated taxes and fees        +$4.36
    Est. tax $3.02 · Bottle deposits $1.20 · Service fee tax $0.09 · Regulatory response fee tax $0.05
  Executive Member credit         -$10.00
  United Card Credits             -$10.00
  Total                           $325.52  (list $409.42)
    tip on the order: $0.00 — tips are optional
  Suggested tip                   +$20.00
  Total with suggested tip        $345.52

delivery ZIP 10019 · both carts read in parallel
21 lines checked · 2 swaps worth making
Both carts are read-only. Nothing here was added, removed, or reordered.

Both swaps are produce. Costco wins everything sold in bulk and FreshDirect is where I buy things in handfuls — a rule with exceptions. A 10 lb bag of gold potatoes is 99¢ a pound against my $1.79, and a 3 lb bunch of fair-trade bananas is 88¢ against $1.20. Same product, cheaper per pound — but only one of the two is a swap I would place.

Everything else stayed put — including eight of the sixteen Instacart lines, where FreshDirect's nearest equivalent was more expensive once the units lined up.

Where it would swap

Before any recommendation: the quantity has to stay in range. A swap may move the amount bought by −33% to +50% of what is already in the cart, and it may buy whole multiples of the replacement pack to get there — but never less than one pack. That floor is what refuses a recommendation: a 10 lb potato bag against two potatoes in the cart can only be bought as eleven times the amount.
Cheaper swaps
  Gold Potato  (FreshDirect)  →  Costco Gold Potatoes, 10 lb
        $1.79/lb  vs  $0.99/lb        saves $0.80/lb  (44.7%)
  Organic Bananas  (FreshDirect)  →  Costco Organic Fairtrade, 3 lb
        $1.20/lb  vs  $0.88/lb        saves $0.32/lb  (26.7%)

The bananas clear the quantity test at 1.2× the cart; the potato bag does not, at 11× — so it stays a comparison and never becomes a recommendation.

What it checked along the way

Gold potato refused — quantity
FreshDirect 2 potatoes ≈0.9 lb $1.61 = $1.79/lb Instacart Costco Gold Potatoes, 10 lb $9.89 = $0.99/lb
Same product, same basis — 45% cheaper per pound. It is still not a swap: one bag is eleven times the potatoes in the cart and there is no tenth of a bag, so the saving is real and the purchase is a different one.
Bananas switch
FreshDirect Equal Exchange organic $2.99 = $1.20/lb Instacart Costco Organic Fairtrade, 3 lb $2.63 = $0.88/lb
Both fair-trade organic, per pound: 27% cheaper at Costco, and three pounds lands 1.2× the 2.5 lb in the cart — inside the window, so this is the swap.
Sweet corn refused
Instacart fresh, 8-count $8.79 = $1.10/ear FreshDirect Birds Eye Steamfresh, frozen $2.49/ea
A frozen bag is not fresh corn. The arithmetic said $6.30; the products said no. Thrown out.
Sweet onions keep Instacart
Instacart 5 lb bag $7.14 = $1.43/lb FreshDirect Sweet Onion = $1.99/lb
Same product, per pound: switching would cost 39% more — so it stayed put.
Golden pineapple keep Instacart
Instacart $3.84 each FreshDirect $6.99 each
Already 45% cheaper each — $3.84 against $6.99.
Ribeye refused
Instacart Kirkland USDA Choice, ~3.79 lb $79.17 = $20.89/lb FreshDirect closest match: Wagyu ribeye = $59.49/lb
Wagyu is not the same product. Thrown out rather than dressed up as a saving.
Roasted seaweed refused
Instacart Kirkland, 0.6 oz $10.99 = $18.32/oz FreshDirect roasted seaweed $3.59 per package — weight not stated
Not a comparison — one side priced per ounce, the other per package with no weight printed.

How it works

  1. Reads both carts at the same time, each in its own tab of one long-lived browser that stays signed in to both accounts. Nothing is re-logged-in and no password is ever typed by me.
  2. Normalises every line to a unit price. That is the part that matters: a 5 lb bag, a 24 oz tub and a per-pound produce item are indexed differently on purpose, and comparing them at face value is how you end up with a confident, wrong recommendation.
  3. Searches the other shop only for lines that could plausibly move — the expensive ones — then accepts a match only when the two products are really the same thing: same product type, same form, compatible units. Pounds convert to ounces; "per pepper" never silently becomes "per 6-pack", and a frozen bag is never offered as a swap for fresh corn.
  4. Prices the comparison off what I would actually pay. Instacart's item discounts are already in its per-line prices — the drawer shows a list subtotal of $340.32 against $325.72 after $14.60 of discounts, and every row on the discounted side is what gets compared.
  5. Reports a switch only when the saving clears a threshold. Equal prices, or a difference of a few cents, is not worth an errand.
  6. Every search it runs is cached, and the carts are read in parallel, so asking twice in a day costs a fraction of asking once.

How the carts stay readable

Both carts are read through one long-lived browser that stays signed in to Costco/Instacart and to FreshDirect. A request never triggers a login, and no password is ever typed by the agent. The sessions were established once, by me, in my own browser and handed over as a session transfer rather than credentials; they live only on the machine that runs the read.

The carts themselves are never stored — every figure comes from a live read of the cart as it stands at that moment, which is why the response says how many seconds it took. The one thing cached is the other shop's search results, for three days, so asking twice in a day doesn't re-hit either site. If a session expires, the fix is a fresh transfer from my browser, not a stored password. And the read is strictly one-way: nothing is ever added, removed or reordered.

The rule I care about most: it checks the delivery ZIP before it trusts a single number. A cart priced for the wrong address is a wrong answer with extra confidence.

What it won't do

It will not add, remove or reorder anything without being asked. It won't invent a price for a product it couldn't find, and it won't call two different products equivalent to produce a satisfying result. Twice in this basket the honest answer was "I can't compare these", which is the answer I want.