Inspiration
As college students, many of us have seen the funds from our bank accounts deplete rapidly. It begins with a few innocuous purchases and a few hang outs later you are left wondering where you can scrounge around to save going forward. With that in mind, the goal of our project, FinSights, was to change the way people think about their finances, creating more well informed and financially conscious individuals. FinSights provide indicators of financial health in an easy to interpret manner, with effective visuals and AI powered insights on spending, effectively demystifying finances for the average person.
What it does
Upon logging into the platform, users are presented with multiple pages, including a Dashboard, Budget set up, and an Insights page. To provide detailed analytics on user spending, we broke up the budget across 5 categories the user could specify limits for, including transportation, dining, healthcare, entertainment and shopping.
After these parameters are set, the user can view their dashboard, which provides some standard metrics, including current monthly spend, category spending, balance across accounts, and active accounts for the user. Below this, we provide data on user transactions, showing the most recent transactions, the amount spent, as well as the category they belong to. We also provide a visual to keep the user posted on budget progress, using the budget form input to inform the user on their spending habits with their limits as a reference.
At the bottom of the Dashboard tab we have a final introduction to our third feature — AI Insights. For the purposes of this tab, we just provide the user with some basic advice on how to improve their spending habits. These insights have a learn more button, which navigates the user to our main feature's tab. A OpenAI powered chatbot is available for the user to discuss their spending in detail, and get recommendations tailored to the user's unique situation.
How we built it
Our project was built using a modern and experimental tech stack. The frontend was developed using TypeScript, with the React framework. We used tailwind for CSS styling and shadcn to quickly build high quality visuals. Our backend was written in Golang, using the Gin framework. Our data's structure was provided by the Nessie API, but we created additional mock data to best fit the needs of our application. We used AI tools to reduce boilerplate and effectively prototype ideas that we further developed. This helped us explore possible features and ideas without fully committing too much time and effort to development.
Challenges we ran into
As our project has numerous input parameters, we wanted to keep the insights robust and up to date with changing user situations. For example, if a users budget decreased in the transportation area and the insight stayed the same, a user might be led to believe they have more funds to allocate then they truly do. Thus what was important here was to ensure the UI dynamically updated and the insights adapted. This meant that evolving situations were met with calls to the OpenAI API, updating the user recommendation to reflect the latest update. We implemented a reactive system using React Query that automatically triggers new API calls whenever budget data changes, ensuring that insights are always generated with the most current financial information.
The other major challenge was understanding and incorporating the relevant data retrieved from the Nessie API. Our calls to the API weren't getting the appropriate information needed to link the account name to the customer ID. We augmented this data with mock data of our own, including merchant categories and spending classifications that Nessie didn't provide, enabling us to build meaningful spending analytics and budget tracking features.
Accomplishments that we're proud of
What we are most proud of is using the OpenAI API to provide relevant tailored insights to the user. For instance, if you go on our insights tab and indicate to the chatbot that you are a Georgia Tech student looking to save money on transportation, it correctly recommends taking the Stinger Bus or utilizing the MARTA metro system. These insights take our project beyond the realm of a MVP, providing actionable insights to the user so they can take the steps necessary to save money.
What we learned
Two main lessons that stuck with our team throughout this project were frequent communication and handling setbacks with a growth mindset. For the first, although it is nice to narrow in on a feature and work in isolation, our team realized it is also important to frequently communicate progress. Features aren’t independent a lot of the time and informing each other can prevent blockages from occurring. Also, it’s nice to be able to discuss ideas with one another and get to know your team better. On the second, setbacks were a guaranteed part of the journey. Whether it came to deploying or ensuring the insights OpenAI output was valuable to the user, there were some struggles figuring out the quirks and fine tuning the product. However after overcoming a few, each new setback was seen as a clear opportunity to rise above, motivating us to work even harder.
What's next for FinSights
For FinSights to become a truly game changing financial companion, a lot can still be done to improve the UI and provide a more robust offering of insights. The most important next step would be to link to the actual bank accounts of users. This would make it a significant and usable product for the average person, integrating Plaid onto our application to provide a secure way to support this connection. It would be important to provide incentives on improving spending, whether it be coupons partnering with affordable local businesses or gamifying the experience so the user enjoys the application rather than viewing it as just another budgeting tool. Looking ahead, we envision FinSights evolving into a comprehensive financial companion that not only tracks spending but also educates, motivates, and rewards users for building healthier financial habits.
Built With
- gin
- golang
- nessie
- openai
- react
- shadcn
- tailwind
- typescript
- vite



Log in or sign up for Devpost to join the conversation.