Inspiration

Our journey began by recognizing a common challenge faced by students at the University of Chicago: navigating the dining hall menus to find tasty meals that also align with their nutritional goals. We have recently began taking our fitness more seriously, and as a result, need better tools for tracking the nutrients in our meals and finding optimal macronutrient balances. This app lets UChicago students search for meals across dining halls, now and for future days, while letting them plan meals and track their macro outcomes.

Co-hacker Rinja sums up these sentiments:

"As someone who lives off campus and is going to the gym and trying to put on muscle, knowing which dining hall to eat at and keeping track of my macros has been though. Having to manually look at the tiny nutritional labels next to each foods (which sometimes isn't even there) then pulling up my calculator to do the math has been both awkward and time consuming. Also I oftentimes eat at one dining hall only to later find out another dining hall on campus was serving fried chicken (my favorite source of protein) has been crushing."

Novelty

Currently, UChicago Dining provides one days worth of meal information. It is unorganized and difficult to search for meals as well as determine when and at what dining halls these meals can be found. Moreover, while they have meal data for future days, it is not easily available for users to look at. We thus take their data and provide search features that enable selections of time and dining halls along with a meal search. Meals can be added and then tracked on the Macros page where the user can assess their ideal Macronutrient goals for balancing their weight along with the Macros of their selected meals. Finally, on the Predict page, users can plan ahead and search for future meal availabilities.

How we built it

We used python for querying UChicago's dining API's to create jsons to represent the food offerings of each day. We then used the created jsons, material ui library, and react to create the frontend. We used a personal ubuntu apache webserver to host.

Challenges we ran into

One challenge we ran into was configuring a backend with oauth and a database to track and store user's information and meals across visits to the app. However, this proved to be slightly too time consuming given the other requirements of the project and we had to instead prioritize our data analysis and front-end production.

What we learned

Throughout the development of this project, we delved deep into React and other libraries for front-end development and data analysis. We also experimented with the Flask and MongoDB workflow for the back-end along with OAuth for secure authentication, which can be added at future dates given more time. Overall, the process was a rich learning experience in managing a web application as well as wrangling and analyzing data in a meaningful way. Our goals took up serious chunks of time and thus learning time management and cooperation within our group was of the utmost importance.

The Future

We will add user accounts and authentications with a backend to enable fully capable tracking of nutrition for students.

Share this project:

Updates