An interactive personal finance dashboard built with Streamlit and Python. This tool helps users automatically analyze and visualize their spending habits by processing and categorizing uploaded bank statements (CSV or Excel).
- Automated Data Processing: Upload messy bank statements (CSV or Excel) and watch the app automatically clean the data and categorize transactions (e.g., Food, Travel, Rent, Income/Transfer).
- Interactive Filtering: Dynamically filter your data using sidebar controls for:
- Specific Date Ranges
- Transaction Categories
- Text Search (e.g., search for "Target" or "Uber")
- Comprehensive Summary Metrics (KPIs): Get immediate insights into your Total Expenses, Total Income/Deposits, Transaction Count, and Average Transaction Value.
- Visual Reports:
- Spending by Category (Bar Chart): See where most of your money is going.
- Category Distribution (Pie Chart): Understand the percentage breakdown of your expenses.
- Expense Timeline: A line chart showing your expense volume over time with an overlaid scatter plot highlighting individual transaction densities.
- Detailed Ledger: Analyze the clean, formatted transaction data in a sortable, full-width table.
- Python 3.7 or higher installed on your system.
To quickly set up the virtual environment and install dependencies, simply use the provided setup scripts:
For Windows:
setup.batFor macOS / Linux:
./setup.sh
# or
bash setup.shIf you prefer setting it up manually, run the following commands in your terminal:
-
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
- Windows:
venv\Scripts\activate
- macOS/Linux:
source venv/bin/activate
- Windows:
-
Install the required dependencies:
pip install -r requirements.txt
Once your setup is complete and the virtual environment is activated, run the Streamlit dashboard using:
streamlit run app.pyThe app will automatically open in your default web browser at http://localhost:8501.
💡 Tip: Upload your personal statement using the sidebar to start tracking immediately!