Android app
Dhoodhi: A Digital Khata for Milkmen in Punjab
دودھی
Dhoodhi replaces the paper ledger that gawalas use to collect, sell and settle milk. It is Urdu first, works without internet, and follows the way they already work.
- Client
- Independent product
- My role
- Product design and full stack development
- Type
- Android app
- Status
- In pre-launch testing
Overview
Milkmen in rural Punjab collect milk house to house, sell it to chillers and shops, and keep every household's account in paper notebooks. I designed and built Dhoodhi, an Urdu first Android app that works the way they already do: large buttons, number pads instead of typing, and no internet needed.
It covers morning and evening rounds, buffalo and cow milk, weekly payments and advances, chiller reconciliation and WhatsApp ready slips. Helpers collect on their own phones and send their entries to the owner over WhatsApp, with no server or accounts.
The challenge
A milkman collects milk house to house, morning and evening, across several villages. He sells it to chillers, collection centres and shops, and keeps an account with every household. All of it lives in notebooks.
Rates change, pages get rewritten, and settling up leads to arguments. Many of the people who need a better tool read little, work with patchy internet, and are rarely the audience software is designed for.
What I did
- Started from the notebook. Each decision follows how the work is really done, not how a typical app is built.
- Urdu, right to left. Large buttons, number pads instead of typing, very little text, and Nastaliq headings.
- Offline by default. Everything lives on the phone. Backups leave through WhatsApp, which everyone already uses.
- The real round. Villages and houses, morning and evening collection, buffalo and cow milk, and sales to chillers and shops.
- A khata that adds itself up. A ledger for every house and buyer, a day by day register for each month, weekly payments, advances and instalments, and chiller slips to reconcile against.
- Helpers without servers. A helper collects on their own phone and sends a small file over WhatsApp. The owner previews it and adds it to the khata.
- Records people can trust. Every change is logged with its old and new value, and a rate change never rewrites old entries.
What it delivers
- Milkmen keep rounds, sales and household accounts on the phone instead of paper notebooks.
- The app works without internet, with backups and helper entries traveling over WhatsApp.
- Every change is recorded with its old and new value, so the khata can be trusted when it is time to settle up.
- An append only event log is the source of truth, and every calculation lives in one pure module covered by more than 800 automated tests.
Built with
- React Native
- Expo
- TypeScript
- SQLite
- Drizzle
- Zustand
- Jest
Details are intentionally kept high level to respect client confidentiality.