The problem. Fertilizer, seed and pesticide dealers in Pakistan sell to farmers on credit (udhaar) and collect after harvest. Money is tracked in notebooks, reminders feel awkward to write, and nobody remembers who promised what. A typical shop has well over a million rupees out on credit. What the agent does. 1. Reads the ledger and works out verified facts for every customer: overdue amount, days overdue, payment history, last reminder. 2. Decides for each overdue account: remind now, wait, or escalate, with a risk level, a tone and a one-line reason. 3. Drafts the reminder in the farmer's language (Urdu, Roman Urdu or English) and checks that the exact amount is in the message. 4. Reads the farmer's reply and extracts the promised amount and date. The dealer confirms it, and confirmed promises pause reminders. 5. Sends large accounts (Rs 150,000 or more by default) to the owner, who chooses: firm but polite reminder, extend the deadline, or hold. Why it is safe to trust. Amounts come from the database, never from the AI. Reminders are not repeated within 3 days. Nothing is sent automatically: the dealer approves each message, then opens it in WhatsApp. Bad AI output is validated, retried once, and otherwise sent to manual review. Phone numbers are never sent to the model, and every AI call is logged. How it uses Vultr. The FastAPI backend and web app run in one Docker container on a Vultr Cloud Compute instance, deployed with Coolify. All three AI tasks (triage, multilingual drafting, promise extraction) call Vultr Serverless Inference through its OpenAI-compatible endpoint. The AI log tab shows the real calls. Demo data and limits. The ledger is sample data for a fictional shop, while the workflow, rules and AI calls are live. Reminders go through a WhatsApp link, not the WhatsApp Business API. One shop per deployment, no login yet.
Category tags: