Retail · ERP + AIAn AI agent that sells on WhatsApp, wired to a full ERP
A poultry business that now sells through an AI agent on WhatsApp — while the same system runs products, orders, CRM and deliveries behind it.

24/7
orders taken without anyone answering
AI Chat
adapts to any language — no menu, no keywords
Live stock
checked before anything is promised
One system
batches, orders, CRM, deliveries and payments
The business
Kookoo Basket sells chicken across Nairobi — to households and to the kitchens that buy in volume.
Whole birds, boneless breast, wings, drumsticks, gizzards, kienyeji, pet mince, and the cuts most suppliers won't portion. Some customers order a kilo or two for the week. Others — restaurants, butcheries, delivery kitchens — order in volume, on a standing schedule, and account for the bulk of the revenue.
Deliveries run three days a week: Tuesday, Friday and Saturday. Stock arrives in batches, gets portioned into packs, and is sold by both pack and kilo. Every one of those constraints eventually has to live somewhere in software.
The challenge
The whole business ran in the DMs, and the ceiling wasn't demand — it was attention.
Every order was a conversation someone had to be present for. What's available today, how much for two kilos, can you deliver Friday, here's my M-Pesa. Answering was the job, and it only scaled as far as one person's waking hours.
Around that sat the usual spreadsheet: accurate the morning it was written, drifting by the afternoon. Stock counts came from memory as often as from the sheet. Payments arrived as M-Pesa messages that had to be matched by hand against the right thread, in the evening, after the deliveries were done.
Nothing here was broken enough to stop the business. It was just costing every hour it wasn't spending on growth.
Why a simple bot wasn't the answer
Customers write however they normally write, and chicken isn't a catalogue with a fixed menu of phrases.
A real message reads: “Niaje, nataka kumake order ya chicken feet 1kg ba breasts 1kg.” Two languages in one line, no punctuation, two products and two weights. A keyword bot either fails on that or forces the customer to learn its language instead — which is worse than the WhatsApp thread it replaced. So we built an AI chat that adapts to whatever language, or mix of languages, a customer actually uses, rather than one that expects a particular phrasing.
The harder problem is stock. Poultry moves in packs and kilos, changes through the day, and half the list is gone by Friday afternoon. An agent that can't see live stock will confidently sell what has already been sold — and the first time it does, the owner stops trusting it and goes back to answering messages by hand.
So the agent could never be the product on its own. It had to sit on top of a system that actually knew what was in the cold room.
The system of record, first
We built the ERP before we built the agent.
Batches, so stock is traceable to the delivery it arrived on. Products carried in both packs and kilos, because that's how they're bought and sold. Expenses booked against the batch that incurred them — feed, packaging, the birds themselves, the rider, the accountant — so margin is knowable per batch rather than guessed at year end.
Orders that move through real states: pending, unpaid, packed, delivered. Customers with history attached. Deliveries scheduled against the three days that exist. Payments reconciled against the order they belong to.
One place the numbers come from — which is what makes everything after this possible.
The selling agent
Then the conversation went on top, reading and writing the same ledger.
The agent reads intent as written, in whatever language it arrives in, and checks live stock before it promises anything. When something is out — chicken feet, on the day we recorded it — it says so, offers the nearest alternatives, and keeps the part of the order it can actually fill.
It won't guess at what it doesn't know. Asked to place an order with no delivery day, it holds the order open and says exactly what's missing rather than inventing a slot. Once it has everything, it restates the order, issues the M-Pesa Buy Goods till, and asks for the confirmation message before releasing anything.
Then the conversation becomes a record: the order lands in the ERP as a packing list with the customer, the delivery date, the address and the amount owed. Nobody re-types it.
The owner's side
The owner runs the business from the same app the customers order in.
Stock levels and low-stock alerts, unpaid orders with names and amounts, top customers by lifetime spend, best-selling lines — asked in plain English in a WhatsApp thread, answered in seconds.
The full ERP is there on the web for the work that needs a screen: receiving a batch, booking expenses, exporting a packing list, marking an order paid. But the daily questions — what's low, who owes, what's selling — never need one.
Inside the system




Watch it work
Two recordings,both ends of the same order.
Unedited screen recordings from the live system. Tap any moment below to jump straight to it.
The customer
AI chat, start to finish
A real order placed the way a customer actually writes — the AI chat adapts to whatever language or mix of languages it gets, no menu, no app. The agent handles a sold-out item, holds the order until it has what it needs, and closes on M-Pesa.
The owner
Running the business from the same thread
The owner queries the business over WhatsApp too — stock, cash owed, customers, best sellers — without opening a dashboard or a spreadsheet.
More of our work
Soma Streaming
A streaming platform for Kenyan set-book literature — films and dramatisations with a quiz and past papers on every title, licensed to schools rather than sold per student.
Sayansia
A virtual science lab where students collect their own apparatus, build the setup in the right order, and run the experiment — then sit the real exam papers on the same bench.