Inspiration

As new students on campus, we quickly realized how hard it is to track the amount of calories we consume. With the "all-you-can-eat" style of the UMD dining halls, there is no limit to how much food people can pile onto their plates. This lack of built-in portion control is a massive contributor to the dreaded "Freshman 15," where students unintentionally gain weight during their first year due to excessive and unmonitored eating. We wanted to build a tool that removes the guesswork and empowers UMD students to make informed, healthier decisions.

What it does

CampusEats acts as your personal, hyper-accurate dining hall nutritionist. Instead of relying on generic calorie tracking apps that guess what dining hall pizza or stir fry consists of, our app provides extremely accurate and specific calorie data for the exact food items being served at UMD. Powered by Terp AI, students can easily find out exactly what they are putting into their bodies, making it simple to track calories and avoid overeating.

How we built it

We knew the key to this project was accurate data. We built a custom web scraper using BeautifulSoup in Python to pull live, specific nutritional data directly from UMD's official dining website. Once we extract the raw data regarding serving sizes, calories, and specific dishes, we feed it directly into Terp AI. By supplying the AI with this official dataset, we ensure that the calorie counts and nutritional advice it gives to students are 100% tailored to the current UMD dining hall menus.

Challenges we ran into

Scraping official university websites is rarely straightforward! We had to figure out how to navigate complex HTML structures and ensure our BeautifulSoup script could reliably extract the correct data points without breaking when the menu updated. Additionally, cleaning that raw scraped data and formatting it into a pipeline that Terp AI could accurately process and understand took a lot of debugging and trial and error.

Accomplishments that we're proud of

We are incredibly proud of successfully bridging the gap between raw university data and a seamless AI interface. Seeing our scraper successfully pull the data and watching Terp AI output perfectly accurate UMD dining hall stats was a massive win for the team. Most importantly, we're proud to have built a practical, localized tool that solves a very real problem our student body faces every day.

What we learned

Building CampusEats taught us a lot about backend data pipelines. We leveled up our Python skills, specifically learning how to wield BeautifulSoup to parse messy web data. We also learned a great deal about AI integration—specifically how to structure and inject custom context into Terp AI so that it provides reliable, factual answers rather than hallucinating generic food data.

What's next for CampusEats

We want to take this beyond just calorie counting! Our next steps include adding full macro-nutrient breakdowns (proteins, carbs, fats) so students can track specific dietary goals. We also plan to expand our scraper to include other campus eateries, cafes, and Stamp Student Union restaurants. Eventually, we'd love to introduce a feature where Terp AI can generate personalized daily meal plans based on a student's fitness goals using only the food available in the dining hall that day.

Built With

Share this project:

Updates