🍽️ Food4U

AI-powered dining recommendation system that helps UMass students find meals matching their nutrition goals and schedules.


Inspiration

As UMass students, we've noticed it can be difficult to find meals that fit our nutrition goals as well as our schedules. Across all the dining halls, restaurants, and cafes on campus, the menu is always changing. Because looking through every menu can be time-consuming, we wanted to create Food4U as an AI tool that helps us reach our goals by generating which dining hall can match our dietary needs.


What it does

The user types in what kind of food they're looking for. For example, "a low-sodium chicken dinner with 30g of protein." Food4U then reads the daily menus from across the dining halls, cafes, and restaurants and uses AI to interpret the user's request, considering the necessary macros, ingredients, and/or dietary requirements.

Food4U searches through the dining data and nutrition info and returns numerous potential lists:

  • Free options from all 4 Dining Commons (or choose a specific DC)
  • Paid options like those from the restaurants in Blue Wall and cafes

Each item displays its location (including where within its dining common) and calories per serving.


How we built it

Component Technology
Frontend HTML, CSS, JavaScript (React, Vite)
Backend Node.js, Express, Python (Playwright, BeautifulSoup)
Database Supabase (PostgreSQL, PostgREST, pgvector)
AI Layer OpenAI API (gpt-4o-mini)

Challenges we ran into

As beginner hackers, we ran into several obstacles. Mainly, figuring out and using new technologies for the first time, whether that be Git or React. However, the most challenging was integrating the AI layer into our project as none of us had much experience with AI outside of using LLMs like ChatGPT.


Accomplishments we're proud of

  • Created a functional AI-driven search engine in just 36 hours
  • Successfully integrated live dining data for daily menu updates
  • Delivered a clean, user-friendly frontend UI that adapts to various devices
  • Built a tool that genuinely helps students make fast, craving-friendly meal choices

What we learned

In building Food4U, we learned how to connect AI with real-world data scraping and databases. As a team, we found that coordination and strong communication between the frontend, backend, and AI sectors proved crucial to our success and, more importantly, our growth and learning in our respective technologies.


What's next for Food4U

  • Adding meal-planning and nutrition-tracking features to assist users in meeting their nutrition goals
  • Integrating real-time wait times for dining halls to help users fit meals into their schedules
  • Expanding restaurant and cafe coverage with more detailed menu items and ratings

Local Setup Instructions

Follow these steps to run Food4U locally. This setup uses our existing Supabase database and scraped dining data, so no additional scraping or configuration is required.

1. Clone the repository

git clone https://github.com/Team-Food4U/Food4U.git
cd Food4U

2. Set up the backend

cd backend
npm install

Create a .env file inside the backend folder:

SUPABASE_URL=https://tdvoyttslabrzcrdlutq.supabase.co
SUPABASE_SERVICE_ROLE_KEY=YOUR_SERVICE_ROLE_KEY_HERE
OPENAI_API_KEY=YOUR_OPENAI_KEY_HERE
PORT=8787

Start the backend server:

npm run dev

3. Set up the frontend

Open a new terminal:

cd frontend
npm install

Create a .env file inside the frontend folder:

VITE_API_URL=http://localhost:8787

Start the frontend:

npm run dev

4. Access the app

Open the URL printed in the frontend terminal, typically:

http://localhost:5173

Food4U should now be fully functional using the shared Supabase dataset and AI ranking system.

Built With

Share this project:

Updates