Inspiration

Managing finances can be overwhelming, especially for students, families, and low-income groups who lack access to professional tools. We wanted to create a simple, beginner-friendly, and accessible finance tracker that empowers users to understand, manage, and improve their spending habits—right from their browser.

What it does

FinWise is a personal finance web app that allows users to:

Log income and expenses

Visualize spending with pie charts

Track balance and categories over time

Export data as CSV

Log in securely to access personalized data

Get financial tips for smarter decisions

How we built it

Frontend: HTML, CSS, Bootstrap, JavaScript (Jinja templates in Flask)

Backend: Python with Flask

User Auth: Flask-Login with hashed credentials

Storage: JSON files for user data and entries

Data Viz: Matplotlib for pie charts

Challenges we ran into

1.Managing secure user authentication with JSON-based storage

2.Handling dynamic updates and visualization without refreshing the page

3.Making the UI simple and responsive across devices

Accomplishments that we're proud of

1.Built a fully functional budgeting app from scratch

2.Added secure login system with Flask-Login

3.Designed clean and responsive user interface

4.Integrated real-time expense chart generation

5.Ensured all features work without relying on databases or third-party APIs

What we learned

1.Deep understanding of Flask’s routing, session management, and decorators

2.How to implement user authentication securely with password hashing

3.Creating visualizations dynamically with Matplotlib

4.Structuring a full-stack Python app that works smoothly end-to-end

What's next for FineWise

1.Add multi-user data storage using SQLite or MongoDB

  1. Support bar/line charts for monthly trends

  2. Enable budgeting alerts or weekly spending summaries

  3. Build a mobile version using Flutter or React Native

  4. Translate the app to multiple languages

  5. Integrate basic AI to suggest saving plans or detect anomalies in spending

Built With

Share this project:

Updates