An AI-powered M-Pesa transaction assistant that analyses Safaricom M-Pesa statement PDFs using Retrieval Augmented Generation(RAG).Ask questions about your spending in plain English and get intelligent insights.Built with Python,FastAPI,Langchain,OpenAI,ChromaDB and vanilla Javascript
# 🟢 M-Pesa AI Assistant
> **AI-powered M-Pesa transaction analysis tool built for Kenyan mobile money users.** Upload your M-Pesa statement PDF and ask questions about your transactions in plain English. Get intelligent spending insights, financial summaries, and personalized budgeting advice.
---
## 🎯 What It Does
M-Pesa AI Assistant transforms your raw M-Pesa PDF statements into actionable financial intelligence. It combines **document parsing**, **vector search**, and **large language models** to let you have a natural conversation about your money.
### Example Questions You Can Ask:
| Category | Example Questions |
|----------|-------------------|
| 💰 **Spending** | "What is my total spending this month?" |
| 👤 **People** | "Who did I send the most money to?" |
| 📊 **Averages** | "What is my average daily spending?" |
| 🔍 **Search** | "Show me all transactions above KES 5,000" |
| 📅 **Patterns** | "Do I spend more on weekends or weekdays?" |
| 📱 **Airtime** | "How much did I spend on airtime?" |
| 🏪 **Payments** | "List all my till/buy goods payments" |
| 📈 **Trends** | "Am I spending more or less than last month?" |
| 💡 **Advice** | "How can I reduce my spending?" |
| 📋 **Summary** | "Give me a complete financial summary" |
---
## 🏗️ Architecture
```
┌─────────────────────────────────────────────────────┐
│ FRONTEND │
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │Dashbd│ │ Chat │ │ Txns │ │Upload│ │Setngs│ │
│ └──┬───┘ └──┬───┘ └──┬───┘ └──┬───┘ └──┬───┘ │
│ └────────┴────────┴────────┴────────┘ │
│ Plain HTML/CSS/JS │
│ Chart.js + Marked.js │
└──────────────────────┬──────────────────────────────┘
│ REST API (HTTP)
┌──────────────────────┴──────────────────────────────┐
│ FASTAPI BACKEND │
│ │
│ ┌────────────── …