Bank customers in Pakistan often mix Urdu and English in one sentence. Menu systems and English-only bots miss what they say, so callers repeat themselves. A failed card payment needs a ticket with the right amount. Zabaan AI is a voice complaint desk for a demo bank, Roshan Trust Bank. The caller speaks Urdu, English or both. The agent greets with "Assalamu Alaikum", replies in English and closes with "Allah Hafiz". Callers can report: - Failed POS payments. The agent says the amount is usually reversed within 7 to 14 working days and files a ticket to track it. - Lost or stolen cards (block request) - App crashes and biometric login failures - Card replacement, with an address read-back - Cheque book reorders The core rule: create_ticket writes a draft only. confirm_ticket is the only path to a filed ticket. The agent reads the details back and files after the caller agrees. All validation is Python code in tickets.py. The prompt holds none of it. The code accepts a fixed list of categories and amounts from 0 to 10,000,000. The confirmed amount must match the draft. It checks the caller's agreement ("haan", "ji", "theek hai") in Devanagari, Urdu and Roman script, using the recognizer's transcript. It strips PIN, OTP and card-number-like digits before saving. The dashboard needs a passcode and masks emails and addresses. The browser connects to AssemblyAI's Voice Agent API and sends the agent config with each call. Tools run in the browser and call a Python standard-library server on Render. The project started from AssemblyAI's voice-agent-starter-python. Limits: spoken Urdu works via Hindi-English auto-detection, not official Urdu support. A word match can be fooled by "haan, lekin amount ghalat hai". It runs in the browser only, with no phone line. Caller identity is recorded but not verified as it is a prototype. Team: Moez Ur Rehman and Muhammad Shoaib.
Category tags: