Inspiration
One of our friends recently shared with us their struggles with managing personal finance: what app should they use? It's hard to find a 'one-size-catch-all' app because everyone's circumstances are unique, and a lot of apps provide very general purpose solutions. We aim to provide personalized solutions to managing anyone's personal finance using generative AI.
What it does
Our app queries census data to display initial budget configurations for users, and provides pie charts for users to visualize and change their budget. The app provides a chatbot that interacts with the piecharts to change their budget allocations for each category. We turn requests from the user into JSON objects that we can update our pie charts with using generative AI.
How we built it
We used Flask for our application, building API's on the backend and serving our HTML files which were styled with CSS and Bootstrap. We used JavaScript and Web Sockets connecting our frontend with our backend server to update our pie charts given data from ChatGPT. We also built a chat bot using Gradio that runs in its own server that our Flask server interacts with. We also built API's interacting with Census data to fetch data we need.
Challenges we ran into
Because our chatbot is served in a server, our Flask server is in another server, and our HTML is served by our Flask server, we had to engineer data communication between these three sources using HTTP requests and Web Sockets where appropriate. In addition, prompt engineering became a challenge to identify how to get generative AI to turn nuanced English queries into correct JSON objects reflecting the user's queries that we can use to update our pie charts.
Accomplishments that we're proud of
We are very proud that our product does what we envisioned: a user can provide English text, representing whatever background they come from, and we can update and create new budgeting categories for the user to easily visualize their spending. We are also proud of our integration with the US Census API to provide accurate initial configurations of users' budgets without storing any information about the user themselves other than their income and zipcode.
What we learned
Many of our team members learned web development from scratch, running the gammit from backend API development in Flask to frontend development in HTML, CSS, and Bootstrap. We also learned how to integrate with OpenAI's API to leverage ChatGPT in our application.
What's next for Perfin
Including additional data sources (US Labor Bureau data), user authentication, and version control for changes to the user's budget.
Log in or sign up for Devpost to join the conversation.