Managing your personal finance is incredibly important, but often feels like a chore. We decided to develop Capitalica as a tool to help ourselves and others engage with finance in a more entertaining and satisfying way.
What it does
Capitalica gives users in-game avatars that can be customized with unique and collectible cosmetics. It uses machine learning (Natural Language Processing) combined with Capital One API to access and analyze users' financial data. Capitalica then assigns custom tailored tasks that help users manage their finances effectively. Completing these tasks rewards users with virtual currency that allows them to spice up their avatar.
How we built it
We used the Capital One API to gather the user's financial data, and utilized machine learning in python to analyze the data. This was hosted on AWS. Capitalica was built with React and a Spring backend. The Spring backend makes the HTTPS request to AWS, and passes the data to the frontend. The backend also keeps track of user data such as login credentials and items they own.
Challenges we ran into
Implementing Natural Language Processing proved to be a very difficult task. Its primary use within Capitalica was to analyze the descriptions of different purchases and label them as "needs" or "wants". However, we could not find a dataset to train our model on. We had to make our own text file of over 100 different transactions labelled as needs or wants. This was a very tedious process that consumed a lot of time.
Accomplishments that we're proud of
We are proud of our website’s functionalities since they are modularized and well-designed; as such, user experience is streamlined and simple. Additionally, we are satisfied with having developed a pragmatic and entertaining service by applying data science concepts combined with web development. Additionally, we are happy with our ability to develop a sleek interface design that is appealing to users.
What we learned
Since many of us were new to React, we learnt the fundamentals of it on the fly. Additionally, we had to learn how to use AWS lambda to host the python code we wrote.
What's next for Capitalica
Implementing more cosmetics and a social aspect like viewing others' avatars would be high priority features for us to implement. We'd also like to implement more tasks, and a goals system where users can work towards saving for a big purchase.