VibeDish is a full-stack, AI-powered meal recommendation and ordering platform that connects user moods from Spotify to curated food suggestions from local restaurants. It also reduces food waste by connecting customers with surplus restaurant meals at discounted prices. This project demonstrates how rapidly teams can build intelligent applications using FastAPI, Supabase, Next.js, and AI-driven recommender systems.
Deployed at: Vercel and Render
- General users looking for personalized meal or surplus deals.
- Restaurant partners managing real-time surplus inventory.
- Developers & students exploring AI-assisted full-stack development and testing workflows.
VibeDish is an innovative food delivery platform that combines mood-based recommendations with sustainability. By analyzing your Spotify listening history, we recommend surplus restaurant meals that match your current mood, helping reduce food waste while delivering food that resonates with your vibe.
Key Objectives:
- Reduce food waste by connecting users with surplus restaurant meals
- Provide personalized meal recommendations based on mood analysis
- Create a sustainable and community-driven food delivery ecosystem
- Offer discounted prices on surplus meals
- Framework: FastAPI (Python 3.10+)
- Database: Supabase PostgreSQL
- ORM: SQLAlchemy 2.0 with Alembic migrations
- Authentication: Supabase Auth + JWT
- AI Module: Groq API for music to mood analysis
- Music Integration: Spotify API
- Framework: Next.js (TypeScript + Tailwind)
- UI Components: shadcn/ui
- Maps: Mapbox GL
- Authentication: Supabase Auth
- Realtime: Supabase Realtime
- Deployment: Vercel · Render
- Testing: Pytest · Jest
# clone repository
git clone https://github.com/pranshavpatel/CSC510-Section2-Group8.git
cd Project
# create virtual environment
python -m venv venv
source venv/bin/activate
# install backend dependencies
pip install -r requirements.txt
# configure environment
Write and file .env file
# start backend
uvicorn app.main:app --reload
# start frontend
cd client
npm install
npm run devBackend → http://localhost:8000
Frontend → http://localhost:3000
- Supabase-based Authentication with local JWT fallback
- Mood-to-Food LLM Recommender based on current playing music
- Spotify Integration for Mood Analysis
- Real-time Cart & Order System with surplus pricing
- Restaurant & Meal Catalog
- Restaurant Owner Dashboard
- Surplus Meal Browsing
- Shopping Cart with Multi-Item Support
- Order Management & Tracking
- Sustainability Metrics Tracking
- Discord Support Channel for users and developers
- 100+ tests covering nominal & off-nominal cases
pytest tests/ -v
pytest tests/ --cov=Mood2FoodRecSys --cov=app/routers --cov-report=html --cov-report=term
pytest tests/test_performance.py -v -s
pytest tests/test_security.py -v -s
cd client && npm testCoverage: Backend 84%, Frontend 86.25%, Total 559 tests.
| Timeline | Milestone |
|---|---|
| 1 month | Async Spotify API via httpx + Refined LLM workflow |
| 2 months | Restaurant analytics dashboard + stock prediction |
| 4 months | PWA mobile release + Conversational ordering agent |
Future Enhancements
- Carbon footprint tracking per order
- Dietary preference learning
- Social recommendations based on friend activity
- Sustainability leaderboard and rewards
- User Guide: Step-by-step usage & troubleshooting
- Developer Guide: Schema, routes, integration patterns
- API Docs: Swagger UI | ReDoc
cd client
vercel --prod- Deploys from main branch automatically
- Configure env variables in Render dashboard
We welcome pull requests!
Refer to CONTRIBUTING.md for coding standards, PR workflow, and governance model.
Course: CSC 510: Software Engineering
Institution: NC State University
Team Members:
- Pranshav Patel - [email protected]
- Namit Patel - [email protected]
- Janam Patel - [email protected]
- Vivek Vanera - [email protected]
Join our Discord for help, feedback, and collaboration:
https://discord.gg/u73Dqj5dsV
If you encounter any issues:
- Check documentation
- Open an issue
- Contact the team
Developed as a passion project and academic requirement.
If funded, future goals include:
- AWS Fargate + Supabase Pro deployment
- Multi-platform AI recommendation expansion
- Paid open-source fellowships for contributors
Licensed under the MIT License — see LICENSE for details.
@software{VibeDish_2025,
author = {Patel, Pranshav; Patel, Namit; Vanera, Vivek and Patel, Janam},
title = {VibeDish: AI-Assisted Food Recommendation System},
year = {2025},
url = {https://github.com/pranshavpatel/CSC510-Section2-Group8}
}Reducing food waste, one mood at a time. 🎵🍽️🌱 year = {2025}, url = {https://github.com/pranshavpatel/CSC510-Section2-Group8} }