Case Study
Asaan Bill
A voice-powered invoicing app that lets Pakistani shopkeepers create and share invoices in under 60 seconds — without typing a single word.
Background
The Problem
Tariq runs a busy general store in Lahore's Raja Bazaar. On a good day he serves 80–100 customers. For years, his invoicing system was a stack of paper receipts, a ballpoint pen, and a prayer that his handwriting was legible enough for the customer to read.
He tried switching to a basic spreadsheet on his phone. It took him 10–15 minutes per invoice — too slow when there's a queue of five people waiting. He had to type every item name in English, manually calculate totals, and screenshot the screen to send over WhatsApp. He went back to paper within a week.
The real cost wasn't just time — it was the professional image he was losing every time he handed a customer a crumpled handwritten chit instead of a clean digital invoice. What Tariq needed wasn't a complicated accounting app. He needed something he could talk to in Urdu, that would handle the math, and send the invoice to the customer's WhatsApp in two taps.
"He needed something he could talk to in Urdu, that would handle the math, and send the invoice to the customer's WhatsApp in two taps."
Solution
Key Features
Voice-First Item Entry
Say the item name in English, then the quantity and price in Urdu. The app converts spoken Urdu number words — "panch sau", "do hazar" — into digits automatically. Adding a full item takes 5–8 seconds without touching the keyboard.
Session-Based Invoice Building
Add multiple items in one continuous voice session. Each saved item appears in a running list so the shopkeeper can see everything added so far, edit any item heard incorrectly, and keep going without closing anything.
WhatsApp Direct Sharing
One tap opens the customer's WhatsApp chat directly with the invoice pre-loaded as a message. No copy-pasting, no manually finding the contact.
Fully Offline
Invoices are saved to the device instantly using Isar — a fully offline local database. If the internet drops mid-session, nothing is lost and nothing slows down.
Engineering
Key Challenges
Voice recognition breaking on MIUI devices after the first session
On Xiaomi phones running MIUI — the most common low-cost Android in Pakistan — the speech engine stops firing the "done listening" callback after the first session closes. The mic button would appear stuck on "Listening..." indefinitely, breaking the core feature for the majority of target users.
A 300ms hardware release delay between sessions. A reinitialize flag that triggers a fresh engine setup when a permanent error is detected. A fallback timer that force-resets the UI if the platform goes silent. Switching the mic button from onTap to onTapDown to bypass MIUI's aggressive touch rejection.
Recognizing mixed Urdu-English speech for numbers
Pakistani shopkeepers don't speak in one language. A shopkeeper might say "cooking oil" (English) then "teen kilo" (Urdu) then "chaar sau pachas" (Urdu). The English speech engine simply doesn't know what "teen" or "panch sau" means.
The app switches the speech locale dynamically — English for item name fields, Urdu (ur_PK) for quantity and price fields. A custom number conversion function maps over 80 Urdu words, romanized transliterations, and compound phrases into digits before saving. Partial speech results are used to accept a recognized number the instant it's detected, reducing wait time from 3–4 seconds to under 1 second.
Screens
Screenshot walkthrough

Open voice sheet → say item name → say quantity in Urdu → say price → item saves and resets. Recorded on a real device.

The end result — a clean invoice being built

Core feature in action — mic active, field filling

Complete system — real data management built in

Smart progressive UI — Next only appears when ready

The money shot — invoice lands in customer's WhatsApp
Results
The Outcome
Invoice creation reduced from 10–15 minutes to under 60 seconds
Zero typing required — entire flow is voice-driven
Works fully offline — no internet dependency
WhatsApp sharing in 2 taps with no copy-pasting
Mixed Urdu/English voice commands supported natively
Customer records persist with full edit capability