Inspiration

We wanted to create a simple yet powerful tool to help individuals manage their personal finances, especially students and young professionals who may not have access to advanced financial apps. Our goal was to raise awareness of budgeting habits and make financial tracking feel easy and rewarding.

What it does

FinTrack allows users to sign up, log in, and manage their income, expenses, and savings. It provides visual insights through charts, sends alerts when spending gets too high, and tracks financial transactions—all stored in CSV files for easy portability.

How we built it

We used Flask for the backend and HTML/CSS/JS for the frontend. Financial data is managed using pandas and stored in CSV files (accounts.csv, tranxtion.csv). Charts are rendered using Chart.js, and user sessions are managed with Flask’s built-in session support.

Challenges we ran into

Handling user sessions correctly with CSV-based authentication Simulating historical financial data without a full database Dynamically rendering charts based on real-time CSV updates Ensuring data consistency across multiple read/write operations Api plaid implementation wasn't possible

Accomplishments that we're proud of

Built a working full-stack finance tracker without using a traditional database Implemented real-time notifications when spending exceeds income thresholds Created an intuitive UI and dynamic charts with minimal setup Developed a points system to gamify saving

What we learned

How to manage user state with Flask sessions How to structure CSV files for scalable multi-user data handling Integrating Chart.js dynamically with backend JSON endpoints Best practices for simple full-stack apps without external DBs

What's next for FinTrack

Add user profile editing and secure password hashing Enable transaction filtering by date/category Implement budget planning features and goal tracking Upgrade to SQLite/PostgreSQL for persistent, scalable storage Deploy on Heroku or Render for public access

Share this project:

Updates