A smart kitchen pantry management app that helps reduce food waste through AI-powered recipe suggestions and receipt scanning.
- 🥬 Smart Pantry Management: Track food items with expiry dates
- 📸 Receipt Scanning: AI-powered OCR with Veryfi + Gemini integration
- 🤖 Recipe Suggestions: Personalized recipes based on expiring items
- ❄️ Freeze Functionality: Extend shelf life of appropriate items
- 📊 Analytics Dashboard: Track food waste and savings
- 🎨 Multiple Themes: Customizable UI themes
- Frontend: React + TypeScript, Tailwind CSS, shadcn/ui
- Backend: Node.js + Express, MongoDB
- AI Integration: Google Gemini API for recipes and food standardization
- OCR: Veryfi API (primary) with Tesseract fallback
Copy the example environment file and configure your secrets:
cp env.example .envEdit the .env file with your actual credentials:
# MongoDB Configuration
MONGODB_URI=mongodb+srv://your_username:your_password@cluster.mongodb.net/?retryWrites=true&w=majority&appName=YourApp
# Veryfi API Configuration (for receipt scanning)
VERYFI_CLIENT_ID=your_veryfi_client_id
VERYFI_API_KEY=your_veryfi_api_key
# Gemini AI API Key (for recipes and food name standardization)
VITE_GEMINI_API_KEY=your_gemini_api_key
# Server Configuration
PORT=3001
VERYFI_PROXY_PORT=3002- Create account at MongoDB Atlas
- Create a new cluster
- Get your connection string and replace credentials in
MONGODB_URI
- Sign up at Veryfi
- Get your Client ID and API Key from dashboard
- Add to
VERYFI_CLIENT_IDandVERYFI_API_KEY
- Go to Google AI Studio
- Create an API key
- Add to
VITE_GEMINI_API_KEY
Install dependencies for all services:
# Frontend dependencies
npm install
# Backend server dependencies
cd server
npm install
cd ..
# Text parser service dependencies
cd text_parser
npm install
cd ..Start all services (requires 3 terminals):
Terminal 1 - Frontend (Port 8080):
npm run devTerminal 2 - Main Backend (Port 3001):
cd server
npm startTerminal 3 - Veryfi Proxy (Port 3002):
cd text_parser
npm startOpen your browser to: http://localhost:8080
.env file to version control. It contains sensitive API keys and database credentials.
The .env file is already included in .gitignore to prevent accidental commits.
- Frontend: React app running on port 8080
- Main Backend: Express server on port 3001 (handles auth, pantry, recipes)
- Veryfi Proxy: Express server on port 3002 (handles receipt OCR)
- Database: MongoDB for user data, pantry items, and recipes
- AI Services: Gemini API for recipe generation and food name standardization
- Fork the repository
- Create your feature branch
- Make sure to add your own
.envfile (never commit it) - Test your changes
- Submit a pull request
- @JordanKing22 – Project Lead & Backend
- @meghanavusirika – UX/UI Designer
- @manahilbashir – Frontend Developer and Designer
- @PritNotPrinter - Pitch Lead and OCR Integration
MIT License


