Inspiration

The initial idea was to build a simple expense tracker, just an app that records all of your expenses, all numbers, and that's it. But then I realized it didn't really make me better at managing my funds, I feel like it does not give enough feedback to me, the user. I want to make an app that also allows the user to grow and learn as they use the app.

What it does

Fintrack is an expense tracker app that is designed to simplify tracking your expenses, provide deep insights, and also educate users in terms of personal finance. Users can easily add and delete expenses and record their income, keeping their financial records always up-to-date. Searching feature and date filtering allow for quick transaction retrieval. offers real-time summaries of income and expenses, and also a friendly mascot delivers custom Java logic-powered tips that are dynamically generated based on your spending patterns. Fintrack also provides Charts to visualize your spending habits. The Bar chart with next month's prediction goes a step further, utilizing Java Simple Linear Regression of past expenses to predict your next month's spending. It also have the Cashflow Runway feature, utilizing a powerful Prophet middleware service that takes your income and expenses to accurately forecast your balance for the next 6 months time, set and track financial goals, an interactive quiz, and a driver tour for each page ensures new users can quickly understand and utilize all of FinTrack's available features.

How we built it

  • Frontend: In building the frontend for Fintrack, I utilized React combined with Tailwind CSS for rapid and consistent styling, Lucide Icons for clean visual elements, and Framer Motion to deliver those fluid and clean animations.
  • Backend: The core of Fintrack is a secure and efficient Spring Boot (Java) backend. This handles all data processing and serves as the API for the frontend.
  • Data & AI Services:
  • Fintrack Prophet forecasting service for the Cashflow Runway is a standalone Anaconda Python application. This is to demonstrate my ability to integrate powerful data science models.
  • The Simple Linear Regression for next month's expense prediction was implemented directly within the Java backend.
  • Custom Java logic for generating personalized financial tips
  • Database: All user data, transactions, and goals are securely stored in a PostgreSQL database.

Challenges we ran into

  1. Tuning and integrating the predictive models like Prophet, and also implementing Simple Linear Regression from scratch, to ensure they give meaningful and reliable predictions.
  2. Optimizing the custom Java logic for the intelligent tips, ensuring they don't give the same, repetitive tips every time, as well as making it adapt to user behavior. This requires careful consideration of data analysis and message generation rules.
  3. To achieve the frosted glass design and fluid animations, this requires a lot of attention to detail and a deep understanding of the libraries.

Accomplishments that we're proud of

  1. Getting both the Java Simple Linear Regression and the Python Prophet service to work effectively for future financial forecasting is really a major accomplishment for me.
  2. The custom Java logic for dynamic, contextual tips is truly one of the achievements that I'm proud of, it really makes the app financially educational and personalized.

What we learned

  1. We transitioned from just reading about Machine Learning theories to actually making one. For me, I think it was really cool to see how we could use these models to give users real, helpful stuff like predictions and those smart tips.
  2. Through this project, I learned a lot about designing and integrating services across different programming languages. Even though some parts are built with Java and others with Python, I learned how to get them to work together seamlessly.
  3. Getting to play with advanced forecasting tools like Prophet was a real eye-opener. I gained practical experience in applying time-series forecasting models to real-world financial data, and I also learned the tricks and challenges that come with making those predictions accurate and viable.

What's next for FinTrack

  1. I planned to integrate the bank API into Fintrack, which will reduce the manual entry and also provide more real-time financial updates.
  2. Expanding the quiz with more content and difficulty levels, and maybe adding social features like financial challenges with friends.
  3. Utilizing AI/ML to detect an anomaly in expenses (unusual spending) and also AI-driven savings recommendations.

Built With

Share this project:

Updates