-
-
Register for DawgEats to receive tailored diet suggestions based on your stored preferences!
-
Welcome to DawgEats! Edit your preferences or browse our services!
-
Determine your personal preferences for the AI recommendation system! Includes a variety of dietary restrictions.
-
See the AI-based recommendation system, which takes into account the user's preferences.
-
Gain insight into your daily nutritional intake with the nutrition tracker!
-
Browse a public database of all food items offered at each of the 5 dining halls on campus.
Inspiration
The purpose of DawgEats is to aid college students and faculty members on campus and in the community with dealing with one of the most difficult tasks as a college resident. It's not classes, not homework, not working a job, but eating healthy! In fact, in our college campus community, many find themselves so preoccupied with their everyday tasks that they are unable to reserve time to ensure they remain informed about the healthiness of their diet. This project's goal is to improve the dining experience of every member of the University of Georgia community.
What it does
The primary goal is to make meal planning personal, easy, and inclusive to students, faculty, and visitors alike. Compared to publicly available information about dining halls, which is scattered and inconvenient to access on a daily basis, this project offers more personalization of meals based on the user's preferences, allergies, and diets using AI to understand, suggest, and categorized tailored meals to the user. In addition, this program features a more modern navigation space that makes searching through the dining hall menus easy and convenient, so users can remain informed about the diet options they have on campus.
How we built it
Our front-end development was with vanilla HTML/CSS and standard ES6 JavaScript. The data collection portion of our project was completed with several web requests and using the Cloudflare Workers API to utilize the llama-2 7b NLP model to parse large amounts of data and store it in a JSON file. Then, the NLP was used to classify the food items offered at each dining hall, which allowed for us to create filtering algorithms based on the user's specified preferences (and the AI's classification of the data) to tailor recommendations to the user's tastes. Logging in/authentication was completed using the auth0's Database Connections API in tandem with the Google Firestore (Firebase DB) service to store information about the user's preferences and personalize the meal-planning process for each user.
Challenges we ran into
The immediate problem we encountered in the project was the issue of gathering data. While information about dining halls at UGA is publicly available, it is inconsistent, scattered, and in an unreadable format to use on a large scale. However, we knew we would require a comprehensive database of food offered at UGA, so we opted to create this database ourselves. Rather than manually inputting every food item at each dining hall on campus manually for hundreds of items which would be unfeasible for the timespan of the hackathon, we opted to use the Cloudflare Workers API with the llama-2 7b Natural Language Processing model to parse the unreadable data and format it into several JSON files (seen in the hall-data folder in the repository). Utilizing some clever prompt engineering, the text summarizer could convert paragraphs of text about a datapoint into a convenient JSON object. This allowed us to collect over ten thousand lines of data about UGA dining options in the span of about 2 hours.
Accomplishments that we're proud of
Because of our necessity to create an efficient AI-based recommendation system, we were able to create a consistent, public JSON database of all the food items offered by each of the 5 dining halls on campus. This information cannot be found publicly, as the information is spread throughout multiple websites, and several entries on the UGA dining app lack crucial information (and lack many of the features of our website). With our application of the Cloudflare API and the llama-2 7b NLP model, we have provided a public database for developers to use should they want to develop applications that utilize these datasets, as well as diet monitoring features for more casual users who wish to eat healthy.
What we learned
We learned that in order to maximize the positive impact we have on our community, we have to make compromises in the convenience of implementing our app. For instance, we had to refactor the entire user database storage system (movement from auth0's built-in system to Google Firestore's service) in order to be more compatible with UGA e-mail addresses, a feature which we would be excluding many community members if we did not implement. It is our responsibility as developers to deliver an application that can make as many lives easier as possible, and benefit our community as much as we can, even if it means sacrificing some simplicity on our own end.
What's next for DawgEats
DawgEats, being a multi-purpose application is incredibly flexible in terms of the direction of its future development. In our vision, we see the most positive impact for the community if we direct our development towards specific caloric and macromolecule intake tracking, to provide an even more comprehensive nutrition tracker than implemented in our application. In addition, users would be able to view public health information (such as the recommended number of calories, amount of protein, how to build muscle, how to lose weight, etc.) within the app, rather than sourcing this information by themselves. Essentially DawgEats would evolve into a full-on diet and health monitoring application for the convenience of the UGA community.
Built With
- auth0
- cloudflare
- figma
- firebase
- html/css
- javascript
- node.js
Log in or sign up for Devpost to join the conversation.