Campus Eats: Smart Meal Planning for Students

Inspiration

Too cold to go outside? We feel you. As students, we often struggle to find meals that fit our schedules, dietary needs, and preferences—and most of all, the dreaded walk outside in -30! Between back-to-back classes, long study sessions, and extracurricular activities, grabbing a quick bite can feel like a challenge, especially when you have to spend time calculating your macros. Worry no more! We have created a solution that helps students make better food choices on campus without wasting time deciding where to eat, most of all showing you how to traverse through the pedways!

What it does

Campus Eats is a smart meal-planning app that recommends on-campus restaurants based on a student’s schedule, dietary preferences, and nutritional goals. By analyzing factors like calorie intake, carbs, protein, and cuisine preferences, the app helps students find meals that align with their lifestyle and fit into their schedule. Students can upload their class schedules and get meal options throughout the day in their free time slots.

How we built it

We designed Campus Eats with a user-first approach, ensuring it is simple and intuitive to use. The development stack includes:

  • Frontend: React for a seamless and responsive user interface
  • Backend: Flask to handle user data and restaurant recommendations
  • Data Storage & Processing: Google Cloud Console using BigQuerry, Google Storage Bucket, where restaurant menus, user preferences, and nutritional data are stored as well as BigQuerry is used to make the custom database with all the restaurants available on UofA Campus including key metrics like protein, calories, carbs.
  • Machine Learning: We trained a custom machine learning model (using unsupervised learning) on our custom dataset which is then used to predict all the meals that are similar to the user's preferences (based on macros in meals). We then deployed this unsupervised machine learning model on GCP BigQuerry which is then converted to a micro-service available using an API call.
  • APIs: Used for fetching real-time menu updates and nutritional information along with the Google Maps API for path optimization. We built our own public accessible API for the machine learning model.

Challenges we ran into

Our biggest challenge was collecting the dataset and cleaning it for use. Building an ML-driven recommendation system on Google Cloud while ensuring real-time processing was a challenge. Integrating multiple APIs for dynamic menu updates and nutritional data required careful optimization. Additionally, making sure the UI remained user-friendly while handling complex data analysis was an important focus. Another significant challenge we faced was the CORS error that occurred when we tried connecting the React app with the Google Cloud Run function.

Accomplishments that we're proud of

  • Successfully integrating Google Cloud ML services to generate personalized meal recommendations
  • Creating our own public accessible API for our unsupervised ML model.
  • Creating a fast and responsive frontend with an intuitive UI
  • Implementing an efficient cloud-based data pipeline for storing restaurant menus and user preferences
  • Heavily integrating Google Cloud Console on our app, to make our data storage more centralized.

What we learned

Through this project, we gained experience in Google Cloud ML deployment, backend development with Flask, and real-time data processing. We also learned how to balance AI-driven recommendations with usability, ensuring an intuitive and smooth experience for students.

What's next for Campus Eats

We plan to expand Campus Eats by:

  • Adding real-time meal availability from restaurants
  • Including budget-friendly meal options
  • Implementing a community feature where students can share their favorite meals and dining experiences
  • Importing the class schedule in different file formats like png, jpeg, pdf, etc.
  • Exporting our final schedule with the meal plans.

Campus Eats aims to make student life easier by taking the guesswork out of meal planning. With further improvements, we hope to make it an essential tool for every student on campus!

Built With

Share this project:

Updates