Inspiration

Too many students have testified and shared about how they never use all their dining dollars and meal swipes by the end of the week, leading to money being lost and down the drain. This issue stems from an inability to budget and to stick to that budget. Our solution to this issue was to create a budgeting tool that is easy to use and accessible for students to learn to stick to a budget and build healthy spending habits when it comes to balancing meal swipes, dining dollars, and eating out.

What it does

Budget Bear allows students to create a profile that holds their budget, keeps track of their weekly spending, and also recommends meal options to encourage balanced spending, while also taking preferences into account. Profiles in Budget Bear will hold important information such as your actual budget, your weekly spendings, and food preferences to populate recommendations. Users will manually input their spendings in the three different currency options (dining hall meal swipes, dining dollars, and cash) along with some information to build a preference profile for the user.

Recommendations are made by our model by balancing many different (factors). In recommending dining hall options, we make suggestions based on the current available menu and the user's food preferences and dietary restrictions. Suggesting dining dollar options is a bit more straightforward, as the menu does not change often. We suggest dining dollar options based on dining dollar balance available and popular previous orders. To recommend restaurants to eat out, we filter our database of restaurants (taken from Google Maps API) by location, price, and again also take into account our user’s food preferences/dietary restrictions. Each time the user enters new spendings, they build their preference and budget profile, allowing our model to generate new suggestions for each category. Our recommendation model will make an effort to prioritize and use all meal swipes and dining dollars before recommending the user to eat out.

How we built it

We started this project by working separately on the inputting and recommendation algorithm, the web scraping algorithm, the Google Maps API, and our data storage system (originally FireBase which was later scrapped). After completing most of the work needed on these parts, we aimed to put it all together using a combination of Figma and Fast-API. Unfortunately, this is where it all went south. Our code, 50% written in JavaScript and 50% written in python had major compatibility issues and threatened to jeopardize our entire project. Additionally, Fast-API and Figma were not able to deliver on their promises and left us searching for a way out in our final moments. In our darkest moments, our patron Budget Bear reached out his hand to us and gave us a second wind to bring our project to fruition by any means. We had to toss our beloved Figma design and humble ourselves to make a barebones model that could utilize our algorithms. This is the product that stands before you today. Through trials and hardship, our product persevered and fought to bring itself into the world and can only improve as time goes on.

Challenges we ran into

The first challenge we ran into was web scraping. With no prior knowledge among the four of us, we had to learn from scratch and web scrape a dynamic website to gain access to the Dining Hall and Dining Dollar menus. The difficulty of pop ups on the website made it extremely difficult to have our scraper click the buttons it needed to click. Another difficulty we ran into was our overly complex storage system. We initially planned on using Firebase to store user data and preferences but later found out that it was much farther beyond the scope of what we needed it for. After investing much time into it, we had to part ways with the FireBase platform. Our largest issue would probably be how we struggled to integrate our front-end model with our back-end logic and reasoning. As mentioned above, we struggled to have an idea of how all the pieces of our program fit together, which ended up preventing us from presenting a fully functioning website.

Accomplishments that we're proud of

A big accomplishment for us was our ideation process and our creative yet ambitious vision that we had for Budget Bear. We truly believe that our product has a place on this campus and in the hands of students who need to budget their meals better and are planning on continuing this project even after the hackathon concludes. Another accomplishment for all of us is the new skills we learned. Many of us learned a new language or skill in the forms of JavaScript, Google Cloud, Figma, Firebase, etc. Along with the enjoyment of making this project, we built up experience that we can carry with us for the rest of our careers.

What we learned

Apart from the skills and languages mentioned above, a lesson we learned the hard way was how important extensive planning and research is for ambitious ideas. We spent much of our time planning out and consolidating our work and still encountered many compatibility issues and a lot of debugging. To create great programs, we need to take small calculated steps that can slowly build up to our project.

What's next for Budget Bear

We have talked about many future features we would like to add to Budget Bear including, but not limited to: mobile app compatibility, integration with the Illinois App, receipt scanners, etc. Budget Bear is currently in a very early stage and has many exciting features on the way that can help you make smarter, and tastier, financial decisions.

Built With

Share this project:

Updates