We will be undergoing planned maintenance on Oct 7th 6:00AM UTC / Oct 7th 2:00AM ET

Inspiration

Managing personal finances can be difficult, especially when income, expenses, budgets, and savings goals are spread across different places. We wanted to build a simple platform that helps users understand where their money is going and make better financial decisions.

This idea inspired us to create FinSight, a personal finance management platform designed to turn everyday financial data into clear and useful insights.

What We Built

FinSight allows users to:

  • Track income and expenses
  • Manage and categorize transactions
  • Monitor total balance, income, expenses, and savings
  • Set and track monthly budgets
  • Create financial goals
  • View financial activity through interactive charts
  • Manage accounts and transactions from a centralized dashboard
  • Use a clean interface with light and dark themes

The goal was to make financial management simple, visual, and actionable rather than overwhelming users with complicated financial data.

How We Built It

FinSight was built using a modern full-stack architecture.

Frontend

  • React.js
  • Vite
  • JavaScript
  • HTML/CSS
  • Recharts for data visualization
  • Lucide React for icons

Backend

  • Java
  • Spring Boot
  • REST APIs
  • Maven

Database

  • MySQL

The React frontend communicates with the Spring Boot backend through REST APIs. The backend handles authentication, transaction management, CRUD operations, and communication with the MySQL database.

We also worked on deploying the application using GitHub Pages for the frontend and Render for the backend, giving us practical experience with production deployment, CORS configuration, environment variables, and cloud-based databases.

Challenges We Faced

One of the biggest challenges was connecting the frontend and backend in a production environment. While the application worked locally, deployment introduced issues such as CORS errors, database connectivity, environment configuration, and API integration.

We also had to make sure that transaction changes were properly reflected in the dashboard and that financial totals and charts remained consistent with the underlying data.

Debugging these issues helped us understand the difference between developing an application locally and running it in a real production environment.

What We Learned

Building FinSight gave us hands-on experience with:

  • Full-stack application development
  • React and component-based UI development
  • Building REST APIs with Spring Boot
  • Connecting Java applications with MySQL
  • CRUD operations and database integration
  • Authentication and CORS
  • Data visualization using charts
  • Cloud deployment and production configuration
  • Debugging frontend-backend integration issues

Most importantly, we learned that building a good application is not only about writing code—it also requires understanding architecture, user experience, deployment, debugging, and reliability.

What's Next

We plan to improve FinSight by adding more intelligent financial insights, advanced analytics, personalized recommendations, better goal tracking, and additional visualization features.

Our long-term goal is to make FinSight a smarter financial companion that helps users not only track their money, but also understand it and make better decisions.

Share this project:

Updates

Submission history