Case file · operations ai · supplement dtc · jun–aug 2026

AI Cockpit with 3 agents for a supplement brand.

A supplement brand we ran ourselves. Orders came in, money was taken, and nobody checked whether the box left the warehouse. So we built something that checks. First run: 13 real problems. Five orders paid and never shipped, €284 standing still. The oldest one had been sitting there for eight weeks.

Many data streams converging into a single core, then leaving as a few decisive outputs Six systems in. One store. Three agents reading from it.
01 — the architecture

One store, three agents.

Shopify, the mailbox, the carrier and the ad platforms each hold one piece of the story, and none of them talk to each other. We pulled every source into one store on a schedule. Three agents read from that store: one watches the orders, one answers the customers, one judges the creative. They share the same numbers, so they never contradict each other.

raw in read by an agent 3 agents · one shared store
02 — the cockpit

One screen, three agents.

The team does not open five tools any more. Every agent reports into the same cockpit: what it found, what it drafted, what it is waiting on. Nothing is sent or paused until somebody clicks.

cockpit / orders — open issues
Agents
Last pass
412checked
13flagged
€284paid, not shipped
8 wkoldest open
9false flags dropped

Open issues

07:00 pass · sorted by age
#3902 — paid, never shipped56 days · no fulfilment · no carrier scan · no ticket€61
#4011 — charged twicerefund not issued · open ticket does not mention it€78
#3915 — paid, never shipped31 days · no fulfilment · customer wrote in twice€54
#4188 — stuck at the carrierno DHL scan for 7 days · customer has not written in€43
#4203 — resolved, verifiedsupport shipped a replacement order · closed automaticallyclosed

Three agents, one shared store · every issue stays open until it is provably closed

03 — what lands

A report nobody has to chase.

Nobody has to open the cockpit either. Three times a day the same findings arrive as one message in the channel the team already lives in.

Slack · #order-issues · 07:00
Order Watchdogapp07:00

Morning pass done. 412 orders checked, 13 need a human.

5 orders paid, never shipped — €284 oldest 8 weeks · #3902 · #3915 · #3921 · #3944 · #3950
no fulfilment, no carrier scan, no ticket
2 customers charged twice #4011 · #4027 · refund not issued
both have an open ticket, neither mentions the double charge
6 shipments stuck at the carrier no scan for 5+ days · DHL · customer has not written in yet
9 flags dropped before posting support had already fixed them with a replacement order

That last block is the one that took the longest to get right. Support fixed problems by making a new order, not by touching the old one, so the first version kept reporting solved cases as open. The checker had to learn how the team actually works.

04 — the numbers

First run, not month three.

13Real problems on the first pass, after false positives were stripped out.
€284Paid, never shipped. Five orders. One had been waiting eight weeks.
44 → 6Support threads audited in one sweep. Six actually needed a person.
3× / dayIt runs on a clock, not when somebody remembers to look.

One more catch worth naming. The daily performance post first read spend from a cached number and reported a healthy return. Pulling spend straight from the ad platforms showed a loss on the day instead. We fixed it the same evening. Every report since reads from the source.

05 — the stack

Boring parts, on purpose.

Nothing exotic. The client's own systems, one database, a scheduler, and a model where judgment is actually needed. The rules run first and cost nothing; the model only sees what the rules could not settle.

Shopifyorders · fulfilment
Gmailsupport inbox
DHLcarrier tracking
Google Adsspend · conversions
Metacreative results
Postgresthe store
Claudethe judgment layer
Railwayscheduled runs
Slackwhere it lands
Next.jsthe review screen
Book a call 30 min · you talk to the founder Next: the dropshipping OS Agents, guardrails and one inbox