Chatalog
Chatalog is an AI-powered WhatsApp order management system built for Ghanaian small businesses.
Core trick
Claude runs a tool-calling loop over WhatsApp webhook messages, reading and writing Postgres order rows through read and write tools.
Description
Chatalog is an AI-powered WhatsApp order management system built for Ghanaian small businesses. In Ghana and across West Africa, WhatsApp is the primary commerce channel; customers already message businesses to place orders. Chatalog formalises this:
Customers order in natural language via WhatsApp, and Claude runs an agentic tool-calling loop that understands the request, checks the menu, creates the order, and replies naturally, no app download, no account needed.
Store owners get a real-time admin dashboard with a Kanban board (new → confirmed → preparing → in transit → delivered), drag-and-drop status updates that instantly notify customers on WhatsApp, a natural language command bar for updating menu items, and automated payment nudges for unpaid orders.
The core is an agentic loop: Claude receives a WhatsApp message, calls tools to read/write the PostgreSQL database, and iterates until it produces a final reply. Tools follow a strict read (get_*, list_*) / write (create_*, update_*, cancel_*) convention. Built with FastAPI + asyncpg on the backend and Next.js 16 + Tailwind v4 on the dashboard.
README excerpt
# Chatalog
AI-powered WhatsApp order management for Ghanaian SMEs.
Customers text a WhatsApp number in natural language — *"I want 2 wings and a Coke, deliver to East Legon, paying with Momo"* — and Chatalog's agentic loop (Claude calling tools against Postgres) takes the order, confirms the total, and replies. Store owners watch orders flow across a Kanban in real time and manage the menu with natural language too.
---
## Architecture
```
┌────────────────────┐
WhatsApp user ─▶ │ Twilio WhatsApp │
│ Sandbox │
└─────────┬──────────┘
│ webhook (form-encoded POST)
▼
┌────────────────────┐
│ FastAPI :8000 │
│ /webhook/whatsapp │
│ /api/orders │──┐
│ /api/menu │ │
│ /api/admin/* │ │
└─────────┬──────────┘ │
│ │ HTTP (axios + TanStack Query)
┌─────────▼──────────┐ │
│ agents/loop.py │ │
│ Claude tool-use │ │ ┌──────────────────┐
│ loop (max 5) │◀─┼──│ Next.js :3001 │
└─────────┬──────────┘ │ │ Kanban + Menu │
│ │ │ + NL command │
│ asyncpg │ └───────