Project Info
Inspiration
Walking through UCSC dining halls, we noticed mountains of uneaten food being thrown away daily. Students take more than they can eat, dining staff over-prepare popular items, and there's no data to guide better decisions. We realized that what gets measured gets managed – so we set out to build an AI-powered system that turns food waste from an invisible problem into actionable insights.
What it does
WasteFellow is an AI-powered food waste monitoring system for UCSC dining halls. Cameras on conveyor belts automatically scan returned plates, using computer vision to identify and measure leftover food in real-time. The dashboard displays live metrics across all five dining halls—total waste, cost impact, plates scanned, and waste per student—while breaking down data by meal time and food category. The system's AI engine analyzes patterns and generates specific recommendations for dining staff, such as "Reduce Rice & Grains by 35% at lunch" or "Increase Fruits by 10% at dinner." By turning every plate into actionable data, WasteFellow helps dining services optimize portions, cut costs, and eliminate food waste.
How we built it
We built it using a streamlined tech stack optimized for real-time food waste detection and analysis. The frontend runs on Streamlit with Python, providing an intuitive dashboard that updates instantly as new data flows in. We trained a custom object detection model using Roboflow, feeding it hundreds of images of plates with various food items to teach it to recognize and classify leftovers like rice, vegetables, proteins, and fruits. The model connects via Roboflow's API, processing uploaded plate images and returning detected food items with confidence scores. We store all detection data, meal statistics, and dining hall metrics, structuring tables for daily stats, meal-specific waste, dining hall breakdowns, and individual detections. The recommendation engine uses a custom algorithm that calculates waste percentages by meal and food type, then applies smart thresholds—flagging items over 25% waste for reduction and items under 8% waste for potential increase. The system automatically categorizes detected food items, estimates weight based on portion sizes (approximately 0.15 lbs per detected item), updates all relevant database tables, and triggers dashboard refreshes to display real-time insights. Everything is containerized in a single application that can be deployed on any server with camera access, making it ready for immediate testing in actual dining halls.
Challenges we ran into
Our biggest challenge was integrating Roboflow's detection API with Streamlit, syncing database updates across multiple tables, and ensuring instant frontend refreshes required extensive debugging. Every plate scan had to simultaneously update daily stats, meal-specific waste, dining hall data, and food categories without creating bottlenecks. We also struggled with training the AI to distinguish similar foods and estimating weight accurately. While we built a working proof-of-concept, perfecting this data pipeline is essential because we plan to launch WasteFellow as a real project at UCSC dining halls and expand to other college campuses. This hackathon proved it works—now we're focused on making it production-ready to actually tackle food waste at scale.
Accomplishments we're proud of
We’re proud of leading an initial idea into a functional product with a clear sustainability mission. Through creating numerous iterations of our project, we validated a real waste-reduction problem and built a solution designed around user needs.
What we learned
We learned that simple, easy-to-use tools are essential for encouraging sustainable behavior. Getting feedback early from mentors and communicating clearly as a team helped us build a better and more effective project.
What's next
We plan to implement WasteFellow in UCSC dining halls by installing cameras on return lines and working with dining staff to test the system in real conditions. Using feedback from this rollout, we’ll improve accuracy, usability, and recommendations, with the long-term goal of expanding WasteFellow to other college campuses that want an easy way to track and reduce food waste.
Welcome to your Lovable project
Project info
URL: https://lovable.dev/projects/REPLACE_WITH_PROJECT_ID
How can I edit this code?
There are several ways of editing your application.
Use Lovable
Simply visit the Lovable Project and start prompting.
Changes made via Lovable will be committed automatically to this repo.
Use your preferred IDE
If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable.
The only requirement is having Node.js & npm installed - install with nvm
Follow these steps:
# Step 1: Clone the repository using the project's Git URL.
git clone <YOUR_GIT_URL>
# Step 2: Navigate to the project directory.
cd <YOUR_PROJECT_NAME>
# Step 3: Install the necessary dependencies.
npm i
# Step 4: Start the development server with auto-reloading and an instant preview.
npm run dev
Edit a file directly in GitHub
- Navigate to the desired file(s).
- Click the "Edit" button (pencil icon) at the top right of the file view.
- Make your changes and commit the changes.
Use GitHub Codespaces
- Navigate to the main page of your repository.
- Click on the "Code" button (green button) near the top right.
- Select the "Codespaces" tab.
- Click on "New codespace" to launch a new Codespace environment.
- Edit files directly within the Codespace and commit and push your changes once you're done.
What technologies are used for this project?
This project is built with:
- Vite
- TypeScript
- React
- shadcn-ui
- Tailwind CSS
How can I deploy this project?
Simply open Lovable and click on Share -> Publish.
Can I connect a custom domain to my Lovable project?
Yes, you can!
To connect a domain, navigate to Project > Settings > Domains and click Connect Domain.
Read more here: Setting up a custom domain
Analysis
View
Metric
- 6
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- HTMLIn code
- JavaScriptIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- PythonClaimed
- StreamlitClaimed
6 of 8 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
207 KB
Source files
80
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
jjain12/WasteFellow
92 files · 782 KB · @ 4b76dfe
Structure
Interface
63 files · 68%Screens, components and styles rendered to the user.
Application logic
13 files · 14%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript96%
- CSS2%
- Markdown1%
- HTML1%
- JavaScript0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 70- @hookform/resolvers
- @radix-ui/react-accordion
- @radix-ui/react-alert-dialog
- @radix-ui/react-aspect-ratio
- @radix-ui/react-avatar
- @radix-ui/react-checkbox
- @radix-ui/react-collapsible
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-hover-card
- @radix-ui/react-label
- @radix-ui/react-menubar
- @radix-ui/react-navigation-menu
- @radix-ui/react-popover
- @radix-ui/react-progress
- @radix-ui/react-radio-group
- @radix-ui/react-scroll-area
- +52 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.