← Selected Projects
Personal FinanceMachine Learning
My Finance AI
Your finances, quietly understood. Every M-Pesa and bank transaction categorized, forecasted, and budgeted automatically, on real transaction data, not a demo dataset.
Django 5DRFCeleryscikit-learnNext.js 16React 19Tailwind 4PaddleM-Pesa
Visit live siteWhat It Does
MyFinance AI categorizes every M-Pesa and bank transaction, forecasts your spending, tracks budgets, and answers questions about your money, so you don't have to wrestle with spreadsheets.
- Connect your M-Pesa or bank account, or upload a statement
- Every transaction gets categorized automatically
- See where your money actually went, budgeted and forecasted
It's running on real transaction data: over 1.2M KES tracked so far, at 92.4% categorization accuracy across roughly 1,800 transactions per user. Beyond categorization, it also handles budgets, freelancer invoicing, and answering questions about your spending in plain language.
Under The Hood
CategorizeMost transactions get sorted before I even open the app, a model does the heavy lifting and my own rules catch what it misses. Fix a wrong guess and it learns from that. Sitting at 92.4% accuracy across 9 categories built around how Kenyans actually spend.
BudgetsSet a monthly limit per category and it's checked against where you're forecasted to land this month, not just what you've already spent. You get warned before you blow it.
Ask AIType a question about your spending and get an answer pulled from your real transactions. Cmd+J opens it from anywhere in the app.
Per-user forecastingEvery user gets their own forecasting model. 31 features go in, rolling averages, trend slopes, day-of-week patterns, and it's validated with time-series cross-validation, a plain random shuffle would leak future data into training.
Anomaly detectionAsk about it mid-chat and it flags anything more than two standard deviations off your normal pattern on the spot. There's also an agent that runs the same check automatically after every statement upload, no need to ask.
Budget GuardianWatches daily spending velocity per category and forecasts where you'll land by month end. On its last run it caught two categories on track to exceed their limit, with a specific action attached, not just a warning.
A model that shows its workEvery prediction comes with the token weights and confidence scores that produced it. When it gets a category wrong, I can actually see why instead of just shrugging.
Runs on its own monitoring stackModel retrains and production exceptions both report through Watchdock, the error tracker I built and ship as its own product. Even the retrain logs say who triggered it and when.
ExportsCSV and JSON reports build instantly. A full PDF, laid out with WeasyPrint and broken down by category, runs as a background job, a year of transactions takes longer to render than a request should have to wait for.
Period comparisonsMonth over month, a custom range against the one before it, or this year against last, all share one percent-change calculation instead of three different ones scattered around the codebase. The annual view also flags your fastest-growing category on its own.