I Built SlothBank Using Gemma 3 and Mastra to Catch Unexpected Bills with AI 馃Ε
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady SlothBank: Let the AI Read the Bill. Let Code Check the Numbers. 馃Ε Bills are easy to ignore until something changes. A subscription becomes more expensive. An insurance premium increases. An internet bill a

Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission 馃Ε
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
Bills are easy to ignore until something changes.
A subscription becomes more expensive. An insurance premium increases. An internet bill arrives with a charge that looks slightly different from last month. Individually, these changes can seem small. Finding them means opening bills, comparing amounts, checking historical records, and deciding whether something deserves attention.
I built SlothBank, a local-first AI bill-monitoring project that helps make that process less tedious.
The idea is simple: let AI handle the repetitive reading, let deterministic code check the numbers, and let a human make the final decision.
SlothBank is an AI-assisted bill-monitoring prototype designed to help people review recurring bills, identify unusual changes, and prepare follow-up emails without handing the final decision over to an AI model.
The goal isn't to declare every unusual bill incorrect. A higher charge might reflect a legitimate price change, a new service, or a different billing period. SlothBank highlights what deserves a closer look; it doesn't automatically accuse a provider of making an error.
Bills / Historical Records | v Gemma 3 4B via Ollama | v Structured Extraction | v Deterministic Validation | v Anomaly Detection + Forecasting | v Dashboard | v Human-Reviewed Email Drafts Enter fullscreen mode Exit fullscreen mode Testing what the model actually gets right I didn't want to rely on a demo that merely looked convincing. I also evaluated extraction on a small set of 20 synthetic bills.
The all-field exact-match result increased by 5 percentage points, from 16 to 17 correctly extracted bills out of 20.
These are preliminary results on a small synthetic dataset, not proof of production-level accuracy. Both runs averaged one attempt per bill, so I can't attribute the improvement to retries. The experiment does, however, reinforce why structured validation and evaluation matter when language models handle financial information.
In one synthetic example, Shellter Home Insurance was billed $171.56, compared with an expected amount of $146.00.
That is a useful signal to investigate, not proof that the bill is wrong. The user still needs to inspect the original bill and determine whether the difference is justified.
SlothBank also experiments with forecasting upcoming expenses. In one small backtest with eight observations, the baseline model had a mean absolute error (MAE) of $13.52, while a naive last-value benchmark had an MAE of $8.01.
The baseline did not outperform that simple benchmark. I am keeping that result visible rather than presenting forecasting as a solved problem. A meaningful next step is to improve the evaluation, compare suitable models, and establish when a more complex approach is actually worthwhile.
The extraction evaluation below uses a separate fixed set of 20 synthetic bills; the bill count shown in the live dashboard reflects its current demo dataset.
The dashboard brings spending history, merchant-level forecasts, and a concise summary into one place.
Anomaly Review Unusual amounts are highlighted for investigation. An anomaly is a signal to review the bill, not proof that the provider made a mistake.
Expense Forecasting Merchant-level estimates help users understand expected upcoming expenses. These forecasts are experimental and should be interpreted alongside their evaluation results.
The deployed public demo presents synthetic example data in read-only mode. Audit execution is disabled in this mode, allowing visitors to explore the example output without triggering the local processing workflow.
Screenshots: View the evidence folder on GitHub
SlothBank is a local-first bill-monitoring prototype that tracks spending, estimates future costs, flags unusual bills, explains line-item changes, and drafts emails for human review.
Demo-data notice: Included bills and ground truth are synthetic. Forecasts and anomaly flags are estimates, not proof of overcharging. Draft emails are never sent automatically.
These screenshots show the local dashboard using the project's synthetic sample data.
The project supports a baseline forecaster and a TabPFN integration. Real model behavior depends on local configuration and dependencies.