Problem Statement

Managing personal finances can be a daunting task for many individuals. Often, people struggle to:

  • Track their expenses
  • Understand their spending habits
  • Plan for future financial goals

The lack of clear visibility into financial data can lead to overspending, inadequate savings, and failure to reach financial objectives. This results in stress and anxiety about monetary matters. The complexity of financial data further complicates decision-making, making it difficult for users to stay on top of their finances.


Solution: Frugal Fox

To address these challenges, we developed Frugal Fox, a Finance Tracker App that empowers users to:

  1. Monitor their income and expenses
  2. Visualize their financial situation through interactive charts
  3. Plan for future savings goals

Key Features:

  • Expense Tracking: Users can input their monthly expenses across various categories, allowing them to see where their money is going.
  • Visualization: The app generates pie charts and bar charts to represent expense breakdowns and comparisons visually, helping users quickly identify spending patterns.
  • Savings Goal Monitoring: Users can set savings goals and track how their current savings align with these goals using a gauge chart.
  • Future Predictions: By utilizing machine learning, the app predicts future expenses, helping users plan effectively for the months ahead.

Implementation

1. Development Environment

We set up the development environment with the following technologies:

  • Flask for the web framework
  • Matplotlib and Plotly for visualizations
  • Pandas for data manipulation

2. Flask Application

  • Defined the main application in app.py:
    • The index route renders the input form.
    • The submit route processes input data, calculates expenses and savings, and generates visualizations.

3. User Input Form

  • Designed an HTML form in index.html to collect user data:
    • Salary
    • Rent
    • Utilities
    • Miscellaneous expenses
    • Savings goals

4. Calculations & Visualizations

  • Calculated total expenses, necessary savings, and current savings.
  • Used Matplotlib for pie and bar charts and Plotly for a gauge chart.
  • Visualizations are stored in memory and displayed as base64-encoded images in the summary report.

5. Analytics Module

  • Implemented a separate analytics.py to analyze historical financial data from CSV files.
  • Preprocessed expense data and generated reports summarizing total income and expenses.
  • Leveraged linear regression for predicting future expenses based on past spending patterns.

6. Generating Reports

  • Structured report data to include:
    • Total income
    • Expenses
    • Necessary savings
    • Visual insights (charts and graphs)
  • Rendered the summary.html template for user-friendly display of the report.

7. Testing & Debugging

  • Tested all features to ensure functionality and accurate calculations.
  • Debugged any issues and optimized the code for performance.

8. Deployment

  • Deployed the app on Heroku (or AWS) to ensure accessibility and scalability for multiple users.

Conclusion

Frugal Fox is a comprehensive solution for managing personal finances. It provides users with:

  • Tools for tracking expenses
  • Visualizations for better financial understanding
  • Future expense predictions based on spending patterns

By offering a user-friendly interface and powerful data visualizations, Frugal Fox empowers individuals to make informed decisions about their finances. Whether tracking current expenses or planning future savings, Frugal Fox is designed to help users take control of their financial health.


Technologies Used:

  • Flask
  • Pandas
  • Matplotlib
  • Plotly
  • Scikit-learn
  • Docker
  • PostgreSQL

Start taking control of your finances today with Frugal Fox! 🚀

Share this project:

Updates