A Python web application that turns raw text alerts from your bank into an interactive financial dashboard.
Managing finances by reading through hundreds of unstructured SMS or email alerts is tedious and difficult. This tool automates that process. You simply upload a text file containing your raw transaction alerts, and the application parses, cleans, and visualizes your spending habits instantly.
- Automated Parsing: Uses advanced pattern matching (Regex) to extract dates, amounts, and vendor names from messy text.
- Smart Categorization: Automatically organizes transactions into clear categories like 'Food & Coffee', 'Groceries', and 'Transport'.
- Indian Currency Formatting: Features a custom formatter to display numbers in the Indian system (Lakhs and Crores) for better readability.
- Interactive Dashboard: view key metrics (Total Spent, Net Flow), spending trends over time, and category breakdowns.
The application runs as a linear data pipeline:
- Upload: You drag and drop your
transactions.txtfile into the web interface. - Read & Parse: The script reads the file line-by-line and uses Regular Expressions to extract structured data (date, amount, vendor, type) from the raw text.
- Process: The data is loaded into Pandas, where it is cleaned, and vendors are mapped to specific spending categories.
- Visualize: Streamlit uses the processed data to render interactive charts and summary metrics on your screen.
- Python 3: The core programming language.
- Streamlit: Used to build the user interface and interactive dashboard.
- Pandas: Handles all data structuring, cleaning, and aggregation.
- re (Regular Expressions): The built-in Python module used as the parsing engine to "read" the text alerts.
- Python 3.x installed on your system.
- Clone this repository:
git clone [https://github.com/harshkad/bank-transaction-visualizer.git](https://github.com/harshkad/bank-transaction-visualizer.git)
- Install the required packages:
pip install streamlit pandas
- Run the application:
streamlit run dashboard.py
The application will open automatically in your web browser at http://localhost:8501.