← All Projects

Data Science

SmsSava

SMS-Based Personal Finance Tracker for Unbanked Malawians

PythonNLPSQLiteSMS ParsingPandasMatplotlib

Problem

Over 70% of Malawians use mobile money (Airtel Money, TNM Mpamba) but have no way to track, analyze, or visualize their financial habits. Bank apps are inaccessible to most. The raw SMS transaction data sits unused on people's phones.

Solution

SmsSava reads exported SMS data (XML/CSV from Android backup apps), uses regex + NLP-based parsing to identify transaction types (send, receive, pay bill, buy airtime), amounts, recipients, and timestamps. It then builds a categorized spending profile and generates weekly/monthly reports as visual dashboards exported to PDF.

Real-World Impact

Tested with 3 real users. Identified average of 15% of monthly income going to untracked micro-transactions. Enables data-driven financial decisions for people outside formal banking.

Challenges Faced

SMS formats vary by carrier and change without notice. Building a robust parser that handles Airtel Money, TNM Mpamba, and NBS Bank formats required extensive pattern matching and fallback logic.

Key Learnings

Mobile money transaction data is rich and underutilized. Even simple NLP can extract meaningful financial intelligence from unstructured SMS text.

Demo & Execution Screenshots

SmsSava screenshot 1SmsSava screenshot 2

Next →

CreditIQ