How PesaTrack works
From an M-PESA SMS arriving on your phone to a categorised expense inside a budget — end to end, on the device.
-
1. An SMS arrives
M-PESA or NCBA sends you the usual transaction SMS. Android's SMS broadcast delivers it to every app with the receive permission — one of those is PesaTrack.
PesaTrack KESIncoming SMS
Screenshot placeholder — see plan §10
Sender: MPESA -
2. The parser reads it — nothing else
PesaTrack's
SmsReceiverchecks the sender. OnlyMPESAandNCBAare processed; every other message is ignored at the receiver level. The matching parser extracts amount, recipient, date, transaction code, and the transaction cost.PesaTrack KESParsed row
Screenshot placeholder — see plan §10
KES 240 · Uber · MK7X4A2B -
3. Auto-categorisation runs
Three passes, in order — keyword rules, learned recipient mappings, then payment-type heuristics. If nothing matches, the row lands in
UNCATEGORIZEDwith a soft notification so you can tag it when convenient.PesaTrack KESCategory applied
Screenshot placeholder — see plan §10
Transport -
4. Budgets and analytics update
The Budgets screen shows the remaining amount and days left. The Analytics screen updates category totals, the trend line, the savings-rate card, and the income-vs-spend overlay. All in real time. No round-trip to a server.
PesaTrack KESBudget updated
Screenshot placeholder — see plan §10
KES 3,160 left · 12 days -
5. Nothing leaves the device
The row lives in a local Room database. Analytics — if you opted in — receives only anonymous events like "opened Analytics screen". No amounts, no recipients, no category names, no note text. See Privacy.
PesaTrack KESLocal storage
Screenshot placeholder — see plan §10
Room DB · v15
Try it
Install from Google Play, grant the SMS permission, and the next M-PESA transaction is in the app.
Get on Google Play