Finance Tracker with Python (Full-Stack + ML)

Log transactions, set budgets, visualize trends, and forecast monthly spending with a clean Flask app.

PythonFlaskSQLiteHTML/CSSJavaScriptChart.js
Finance Tracker dashboard preview

Dashboard preview: category spend breakdown, month-to-date burn-rate, and forecast vs budget.

Overview

Personal finance tools are either too heavy or too manual. I built a lightweight tracker that lets users add income and expenses fast, tag categories, and immediately see where money goes. The app shows month-to-date burn-rate, budget progress, and a simple machine-learning forecast for end-of-month spend. Everything runs on a clean Flask backend with a minimal HTML/CSS/JS frontend and Chart.js visuals.

Goals

  • One-click add/edit of transactions with sensible defaults and keyboard shortcuts.
  • Real-time dashboards: category breakdown, cashflow over time, and budget utilization.
  • Lightweight ML to forecast month-end spend using recent history and burn-rate.

My Role

  • Backend: Flask routes, services, validation, and transaction/budget logic.
  • Frontend: HTML/CSS layout, JS fetch for async forms, Chart.js for visuals.
  • Data/ML: SQLite schema, query layer, and a small regression model for forecasts.

Architecture

Highlights

Fast Entry UX

Inline add/edit with default date = today, last-used category memory, and keyboard submit makes logging painless.

Insightful Analytics

Burn-rate and forecast make budgets actionable—users see if they’re likely to overshoot before it happens.

Clean Separation

Blueprint + service + DAO structure keeps views thin and makes it easy to swap storage or extend to users/auth.

What I Learned

Next Steps