# Project export: BearGrub (Inclusive Berkeley Dining)

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: Cal Hacks 11.0
- Tagline: Our app provides real-time halal, vegan, and vegetarian meal options at Berkeley dining halls by scraping data, using AI to classify meals, and displaying results via a Flask API and frontend.
- Devpost: https://devpost.com/software/beargrub-inclusive-berkeley-dining
- GitHub: not linked
- Team: contributor stats unavailable

## Devpost submission (written by the team)

### Inspiration

We are Muslim students at UC Berkeley who have noticed the dining hall websites lack functional support for students with dietary restrictions. It is difficult for students who want to eat a halal, vegetarian, or vegan diet to filter the dining hall menus for options they can eat. We decided to make a dynamic website that displays different menus for those with different dietary restrictions.

### What it does

BearGrub accesses the UC Berkeley dining halls' websites and stores the ingredients of each meal item. It then reviews each meal and determines which are vegan, vegetarian, or halal. The website then presents three separate menus, one for each dietary restriction that comes with the food items available under that restriction.

### How we built it

We built the website using Next.js and used Flask to connect it to our backend Python script. Our Python script accesses the university's .xml dining hall menu files, sorts items based on labels built-in to the .xml file (such as vegan), and runs the ingredients of the remaining items through a GPT model to determine if they are halal.

### Challenges we ran into

As beginner hackers, this was the first full-stack project we had worked on. We repeatedly ran into issues when connecting the various pieces of our projects, especially with Flask, but eventually resolved them. Additionally, we had no experience using React.js, so developing the BearGrub website was a challenging learning experience.

### Accomplishments we're proud of

We take pride in our website's ability to provide an easy, one-stop shop for individuals with dietary restrictions since our UI makes it very simple for someone to identify all possible meals they can eat in each dining hall. We are also proud of our integration of AI into the backend of our website and the prompt engineering applied to make it work consistently, running seamlessly and ensuring accurate categorization of meal items.

### What we learned

The most valuable skill our team gained from this process is the development and management of a full stack. Understanding the connections between the backend, databases, and front end of our website taught us valuable skills applicable to many future projects. Additionally, we learned to integrate LLM API into our projects.

### What's next

The next steps are to deploy BearGrub to a public server and integrate a chatbot that can be given queries about the Cal Dining menus and the data collected through our backend processes.

## README (from the GitHub repository)

No README available.

## Detected evidence (automated analysis)

No repository was indexed for this project. Claimed technologies below could not be checked against code.
- Flask (technology) — claimed on Devpost, not found in the code
- JavaScript (language) — claimed on Devpost, not found in the code
- Next.js (technology) — claimed on Devpost, not found in the code
- OpenAI (technology) — claimed on Devpost, not found in the code
- Python (language) — claimed on Devpost, not found in the code
- React (technology) — claimed on Devpost, not found in the code
- Tailwind CSS (technology) — claimed on Devpost, not found in the code
- TypeScript (language) — claimed on Devpost, not found in the code

## Codebase structure

No repository index available.

## Key source files

No repository index available; no source files included.