Cross-posted from the Spendlee repo, where the full technical postmortem lives in docs/PIVOT-FROM-SMS-TO-VOICE-AI.md.
The pitch that seemed obvious
Every UPI transaction in India comes with an SMS receipt. So the first version of what's now Spendlee skipped manual expense entry entirely — a BroadcastReceiver would catch the bank text, regex out the amount and merchant, and fire a notification: "New transaction detected — log it?"
Zero typing. Zero friction. The single biggest reason expense trackers get abandoned, solved before the user even opened the app.
It worked. I built the whole thing — SMS receiver, bank-specific and generic UPI parsers, the notification flow, confirm/categorize screens, Room storage. Then I tried to actually ship it.









