Inspiration

As students, we’ve both struggled and seen many of our peers struggle with basic financial literacy. This inspired us to learn more about personal finance and budgeting, and ultimately led to the development of an application that can help students and others in similar situations better manage their money. We believe that financial literacy is a crucial life skill, and we’re passionate about providing accessible resources to help others improve their financial wellness.

What it does

BudgetPal is your personal finance assistant that helps you manage your money more efficiently with a quick and automated method of tracking expenses. You can easily set a budget that works for you, track your expenses, and see how you're progressing towards your goals. After signing up and setting your budget, you can begin uploading pictures of your receipts. Once a receipt is uploaded, an itemized table and data graphs are populated to help visualize spending. You can also easily change your budget and saving goals to receive a more accurate spending analysis. Whether you're saving for a vacation, paying off debt, or just trying to manage your day-to-day expenses, BudgetPal is here to help.

How we built it

Our team, consisting of a designer and three developers, began our product development journey with research to better understand our target audience - students. Because we did not have time to conduct user interviews, we relied on secondary research to gain insights. The designer sketched and wireframed pages, which were reviewed with the developers to confirm potential functionality. Once features were confirmed, the designer created mockups, developed a style guide, and made high-fidelity prototypes all in Figma, collaborating closely with the web developer to prioritize our users while remaining within our constraints. We utilized HTML, CSS, and Javascript for general web design and development. To access our website, users are required to create an account, which is verified and allocated a unique ID by Firebase. When a user submits a receipt, we use MongoDB for data processing. Upon sign up, the user's details are saved in Firebase, which generates a unique object ID for each user. To store user information in MongoDB, we create a collection based on the user's Firebase ID, ensuring that each collection is unique. Receipts uploaded by the user are stored within their collection, and an API is used to extract and cleanse relevant information from the receipt text. This cleansed data is then used to populate the fields of the receipt object within the user's collection. However, before the information stored in MongoDB can be utilized, Flask is utilized to format the data into a JSON-like structure that can be properly formatted for the front-end using HTML, CSS, and Javascript, thereby presenting clean and organized data to the user.

Challenges we ran into

Initially, our team encountered a challenge in ensuring the quality of our work due to our diverse skill sets in various programming languages. Additionally, selecting a project to work on for 36 consecutive hours was not an easy task; it required all team members to be highly motivated and committed to delivering the best possible product. Despite the fact that internet speed is usually not a major concern while coding, our project heavily relied on it for updating our database, and unfortunately, the suboptimal Wi-Fi conditions resulted in reduced sleep and more coding hours.

Accomplishments that we're proud of

We are proud of persevering and pushing ourselves to extreme limits to design and develop an impactful product in a short amount of time. Through this process, we gained valuable insights into our fellow peers' journeys towards financial wellness and created a product that may genuinely improve their lives.

What we learned

During the development of our project, we not only learned to use new technologies but also the value of collaboration between designers, front-end, and back-end developers. We also learned to prioritize features within constraints and resolve disagreements regarding design and functionality.

What's next for BudgetPal

While we successfully developed many aspects of our application, we are always looking for ways to improve. To enhance our app, we plan to add new features that allow users to categorize their expenses and set limits for each category to stay on track. We also aim to integrate personalized financial advice and insights by analyzing spending habits and providing money-saving suggestions. Additionally, we plan to expand on data graph views to give users more control over how they view their financial data.

Share this project:

Updates