We wanted to create an application that would help people more easily reach savings goals with advice that is personalized for every user. We believe that this would make reaching saving goals more attainable. While there are financial apps that you can log your expenses and goals in, these apps do not proactively suggest areas to cut expenses in, nor do they suggest investment options. Instead, existing apps put this additional burden on the user to figure out how to better manage their finances. This personalized savings application will take into account users' background information, and give them the most up-to-date financial suggestions to help people feel more in control of their money and their lives. It does the research and calculation for users.
What it does
The web app has a sign up/login system to keep each user's data private in a SQL database. Once logged in, a user can complete their profile input new data such as age, income(monthly/yearly), city of residence, housing expenses, food expenses, and savings goals. From the inputted data, the web app will give recommendations to the user on how to achieve the goal if they are not on track, or how to reach the goal more quickly if they are on track. The app will also scrape the web constantly to get the lastest saving plans for you and make investment suggestions that will meet your need and maximize your benefit. The dashboard feature will use graphs and charts to visually display the user's financial information to give them a better understanding, and let them how much they have spent on each category such as housing, transportation, entertainment, food, and clothing on a monthly basis.
How we built it
We built this using flask and react frameworks. We utilized web-scraping with python and beautiful-soup in order to get financial information about different rates among different financial institutions. SQL database is used to store user profile information as well as different bank's saving plans information.
Challenges we ran into
We ran into a lot of major challenges regarding installations and dependencies on each of our machines, which was often tedious and lengthy to solve. Other major challenges were learning about the frameworks react and flask, which two on the team had limited exposure to, learning how to communicate between the back-end and the front-end, learning how to use databases, and learning how to web-scrape.
Accomplishments that we're proud of
Personally, I am proud of how much I learned, which is my biggest personal achievement. Also, we were able to practice what we learn, and use our knowledge to create a product that can actually make people's life easier. That's the engineering spirit!
What we learned
We gained a deeper understanding of frameworks, web scraping, and how to communicate between python as the back-end language and html as the front-end using flask. I learned more about how values are passed in requests and I learned about GET and POST methods.
What's next for Personalized Banking
1) Comparative savings rate so a user can compare their performance against their peers or other users to increase motivation. 2) We would also like to develop an algorithm that can make more accurate and comprehensive recommendations for both investment choices and monitoring user's progress 3) We will be working on preventing potential security attacks such as SQL injection, and make our web connection more secure. 4)Add more resources such as listing bank branches near the user's location anding financial advisor's contact information if users want to learn more about a specific plan.