Skip to content
All projects

CS50x Final Project

Budget Buddy

Completed (Mar – Apr 2025)

Budget Buddy is a Flask personal-finance application that helps users track income and expenses, set monthly budgets, and understand their spending. It pairs secure authentication (hashed passwords and email verification, with OTP-based password recovery) with full transaction management and an analytics dashboard of interactive Chart.js visualisations powered by pandas. Built as my CS50x final project.

Features

  • Secure registration and login with hashed passwords and email-based verification
  • OTP-based password reset and change using time-limited verification codes
  • Dashboard of lifetime and monthly income, expenses, balance, and a live budget progress bar
  • Full transaction management: add, edit, and delete with default and custom categories
  • Filtering by date range, transaction type, and category
  • Interactive Chart.js analytics: income and expense breakdowns by category and by month, processed with pandas
  • Monthly budget control with automatic remaining-amount tracking

Built with

  • Flask
  • Python
  • SQLite
  • pandas
  • Chart.js
  • Bootstrap
  • Jinja2
  • Flask-Mail
  • JavaScript