Budgy is a mobile app designed to help students with managing their finances. As students shift into young adulthood leaving high school, finances are a big concern for many. With many schools not teaching basic financial skills, students must pay close attention to how they are managing their finances, especially in one of the most important times of their lives.
What it does
Budgy takes advantage of the basic structure of typical budgeting apps, but leverages machine vision technology as a means to create an easy to use budgeting app, that helps to automate the process by allowing users to take pictures of their receipts, which are immediately applied to one's budget.
How we built it
Budgy was built using the React Native framework, allowing us to build Budgy for both Android and iOS. Furthermore, Google Cloud Vision was leveraged to allow us to take images and parse the information of the image. Firebase Authentication was implemented to allow users to create accounts, as well as log in and manage these accounts. MongoDB was used in the Budgy workspace as a databasing tool, allowing for storage of budgeting statistics and histories.
For securely deploying our back-end, we decided to use Docker and GitHub in combination with Google Cloud Run and Google Secrets Manager to allow us to continuously deploy any changes we make, and have a live back-end for testing throughout the time spent developing.
Challenges we ran into
We ran into issues integrating our back-end architecture with our front-end. For example, we struggled to send base64 image strings to the backend for processing. Additionally, Express posed an issue with our laptops as certain node modules caused conflicts. Firebase also posed an issue as it took up an immense amount of time to get the authentication set up and running. The authentication caused many issues with respect to testing and debugging our app for several team members.
Accomplishments that we're proud of
We're really proud that we were able to implement our image-parsing feature, which required a lot of communication between both back-end and front-end teams. Furthermore, we felt accomplished having been able to set up an effective database to store user information, and being able to interact closely with the front-end parts.
What we learned
From this hackathon, we learned a lot about building large-scale but versatile applications. We all learned a lot about trying to figure out our workflow, and the planning needed to ensure the front-end and back-end teams were able to integrate with one another. Furthermore, we all gained experience using various databasing and authentication techniques, while also having been our first time using Google Cloud Vision.
What's next for Budgy
We intend on continuing our journey with Budgy, and improving it the entire way to create a reliable and user-friendly mobile app. With this goal in mind, we intend on improving both the UI of the app, as well as how it performs and its interactions with the user. We intend on providing more features, like being able to view specific details regarding the various categories of purchases, as well as having more interactions with the budget.