Inspiration

We were inspired to create BudgetBuddy by our own experiences. Especially as college students, it's important to us to learn how to save and budget properly in order to prepare us for finances in the real world, and living on our own has forced us to face these challenges. We wanted to build an app to support students like us who have to face the same financial challenges, and help them make the right decisions when it comes to their budgets.

What it does

Our app allows users to create an account or login to an existing account with their saved budgeting plans. If it is their first time creating an account, we allow the user to make their own budgeting plan, either by manually allocating a budget to each “bucket” or category of planning, or instead specifying a total budget to allocate, of which our algorithm will automatically allocate to each category based on the recommendations of financial experts for the user. After submitting the budgeting plan, the user can connect their back account to our app through the Plaid API interface. This provides our app access to the user’s previous transaction history, and can build and update the budgeting plan as time goes by and the user makes progress on spending. When the user has connected their bank account, they will be able to see a dashboard with plots that will summarize and display their spending data from the current month. However, the user will not have to log online to manage their finances– through Twilio, the user can also have SMS text messaging conversations with our app’s personal chatbot. The user can ask our chatbot for help when facing a financial decision, and our chatbot will use previous transactional data as well as the user’s current progress on their budgeting plan to help recommend a decision to be made. In addition, the user can ask clarifying questions to help better understand their current budgeting progress, and learn and practice how to improve for the future. Learning personal budgeting is a major step at financial literacy.

How we built it

We built the frontend using HTML/CSS/JavaScript and used Plotly to generate the plots from the spending data, the backend web server was created using flask, SMS messaging was handled by Twilio, user’s transactions were retrieved using the Plaid API, and the GPT API was used to generate the user spending improvements.

Challenges we ran into

Due to the way we split up work within our group, we developed the frontend and the backend separately, so we faced many challenges when integrating the frontend and backend. One of the challenges was with routing the different HTML pages in flask. Another challenge we faced with the accuracy of GPT’s responses since at times it would respond with more than we specified; however, we overcame this by doctoring the prompts in such a way that restricts GPT’s responses to exactly what we need in the proper format.

Accomplishments that we're proud of

We’re proud of the integration of the GPT and Twilio API to generate spending improvements to the user. Using these APIs allowed us to gain exposure to trending technologies in a practical environment. Also, we’re proud of the way we engineered the prompts that went into the GPT API since it required out-of-the-box thinking and a different approach to problem solving that is rare to find in the traditional software development workflow.

What we learned

There were many challenges that we faced especially in the integration of our code that we needed to learn from for the future– we needed to organize our work in a way that would let us merge branches correctly and use version control to our full advantage. I have learned Git from this project. In addition, we used new APIs that we have never used before– both Plaid and Twilio we learned just today. We were also able to hone our skills in frontend development that we do not use as much in our coursework, especially in Javascript.

What's next for BudgetBuddy

A few improvements to BudgetBuddy are integration of Firebase authentication, which would provide users with a secure and streamlined login process, ensuring that their data is kept safe. The addition of a Twilio connection to multiple users would allow users to easily share information and collaborate on financial goals with family members, friends, or financial advisors. A further analysis of a user’s historical spending data would provide them with valuable insights into their spending habits, enabling them to identify areas where they can cut back and save money. Finally, the use of GPT to parse more user responses would allow for more natural language interactions with the tool and help users better articulate their financial goals and concerns. These improvements could make BudgetBuddy a more comprehensive and effective personal finance management tool for wider and deeper use.

Share this project:

Updates