Inspiration
It starts at 2 a.m. in Lagos. A buyer messages a small shop: "Do you have this in my size? How much?" The owner is asleep. By morning, that buyer has already paid someone else.
Across Nigeria, millions of micro-vendors run their entire business inside WhatsApp, Telegram, and Instagram chats — clothing, gadgets, food, cosmetics, one message at a time. They can't afford a night-shift sales clerk, and they can't stay awake 24 hours. So every night, and every busy hour, the messages they can't answer fast enough quietly become sales they lose.
We didn't want to build another demo. We wanted to remove that daily choice between sleep and income for the people who feel it most.
What it does
Cadence gives every vendor Ada, an AI sales operator that never sleeps. Ada lives in the shop's chat, answers buyers instantly, checks real stock, recommends the right product, and when the buyer is ready, hands over the vendor's own bank details to pay. The owner wakes up to credited transfers and a full log of every sale Ada closed overnight.
Cadence never touches the buyer's money — Ada presents the vendor's own account, and the money moves buyer-to-vendor directly. Cadence earns only a small monthly subscription. That single choice removes the trust barrier that kills adoption.
The engineering discipline behind Ada: the AI talks, but deterministic code decides the money. She never invents a price, a stock level, or an account number.
[ Buyer: Web Chat / Telegram ]
│
▼
{ Ada receives message }
│
┌───────────────┼────────────────────┐
▼ ▼ ▼
"How much? In "I'll take it" Not in catalogue
stock?" │ │
│ ▼ ▼
get_products present_payment_ Ada says honestly:
check_inventory details "not stocked" +
│ │ real alternative
▼ ▼ │
Firestore → Vendor's own bank → escalate_to_human
verified figure details shown (owner takes over)
│ │
▼ ▼
Deterministic validator confirms every figure
│ │
▼ ▼
[ Ada replies — grounded, accurate, logged to /logs ]
│
▼
Buyer transfers directly to the vendor
How we built it
Cadence runs entirely on Google's stack. Gemini function calling is Ada's action layer — her tools (get_products, check_inventory, present_payment_details, escalate_to_human, log_event) are real functions Gemini invokes, not prompt text. Cloud Run keeps her awake 24/7. Cloud Firestore holds every shop, catalogue, and live timeline, and is the single source of truth for every money-critical value. Cloud Storage serves per-product images so each shop looks like itself, and Cloud Logging captures every tool execution as an inspectable audit trail at /logs. Paystack collects the vendor subscriptions, and Telegram is the first buyer channel — instant, free, no approval delay.
Two rigor layers make Ada trustworthy: a deterministic boundary (code, not the model, resolves every price, stock, and account number) and a reply validator (every draft is checked against the real catalogue before a buyer sees it).
Challenges we ran into
The hard part wasn't the chatbot — it was making an AI trustworthy enough to hand real customers real bank details. Language models want to be helpful, which means they'll happily invent a price or a stock number to close a sale. We had to build a strict boundary so Gemini handles conversation while deterministic code owns every figure, then a validator that strips anything ungrounded before it's sent.
Keeping the whole thing honest under real conditions was its own challenge: empty states that tell the truth instead of faking numbers, and a payment flow that never puts Cadence in the middle of a buyer's money.
Accomplishments that we're proud of
- A real business, not a demo: 28 consented vendors across nine Nigerian cities and ₦294,500 in verified, settled subscription revenue over 90 days — every figure reconciled to our live Paystack ledger.
- Provable autonomy: a
/scorecardthat passes 5/5 on grounding, price-hallucination, payout alignment, handoff, and honest-absence — and a/logspage judges can open and export. - Honest reporting throughout: we separate arms-length vendors from our own internal test accounts, because verifiable beats impressive.
What we learned
Useful AI agents need more than a clever prompt. They need a hard line between what the model decides and what code decides, real evidence of what they did, and the discipline to say "I don't know" instead of inventing. And in a competition built on proof, real and modest always beats big and unverifiable — a handful of paying vendors a judge can call is worth more than any impressive number that collapses under one phone call.
What's next for CADENCE
- WhatsApp Cloud API — Ada natively inside WhatsApp Business threads.
- Doorstep delivery — integrate local couriers (Gokada, Sendy) so Ada arranges delivery and Cadence earns per delivery.
- In-chat checkout — an optional buyer "pay now" button via Paystack subaccounts, routed straight to the vendor.
Real vendors. Real revenue. An AI that runs the shop while the owner sleeps.
Built With
- cloud-logging
- cloud-run
- cloud-storage
- firestore
- gemini
- google-ai-sdk
- google-cloud
- next.js
- paystack
- react
- telegram
- typescript
Log in or sign up for Devpost to join the conversation.