AI-Powered Smart Kitchen Assistant
GroceryCam is an intelligent kitchen management platform that uses Computer Vision and Generative AI to automate pantry tracking and meal planning.
Instead of manually typing grocery items, users simply snap a photo of their receipt or item. The app digitizes the items, categorizes them using AI, predicts expiration timelines, and generates personalized recipes based on what's actually in stock.
- Scanning: Uses Google Cloud Vision to extract text from receipts.
- Normalization: Google Gemini AI corrects OCR errors, standardizes names (e.g., "Mngo Lrg" → "Mango"), and categorizes items automatically.
- Multi-Scan: Support for scanning multiple receipts in a single session.
- Context-Aware: Generates recipes based only on ingredients currently in your pantry.
- Nutritional Info: Estimates calories and macros for every generated recipe.
- Dynamic Loading: "Chef's Kitchen" animation keeps users engaged while recipes generate.
- Natural Language: "Add 5 apples and a gallon of milk."
- Intent Parsing: AI understands quantity, unit, and item name from spoken commands.
- Glassmorphic UI: Premium, modern aesthetic with dark mode support.
- Category Taxonomy: Standardized grouping (Produce, Dairy, Pantry) for easy sorting.
- Spend Analytics: Visual charts to track monthly grocery spending.
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS + Framer Motion (Animations)
- State Management: Zustand
- Theme:
next-themes(Dark/Light mode)
- Auth: Firebase Authentication (Google/Email)
- Database: Firestore (Real-time updates)
- Storage: Firebase Storage (Receipt images)
- AI Core:
- Google Cloud Vision API (OCR)
- Google Gemini 1.5 Flash (Data Normalization & Recipe Generation)
- Upload: User uploads image → stored in Firebase Storage.
- Trigger: Frontend calls
/api/ocr→ extract text via Cloud Vision. - Process: Raw text sent to
/api/normalize-items→ Gemini converts messy text to JSON. - Review: User confirms items in a polished UI → Data committed to Firestore.
- Generate: User requests recipe → Gemini analyzes Firestore inventory → streams Recipe JSON.
- Node.js 18+
- Firebase Project
- Google Cloud Project with Vision API enabled
- Gemini API Key
-
Clone the repo
git clone https://github.com/sriram9573/GroceryCam.git cd GroceryCam -
Install dependencies
npm install
-
Environment Setup Create a
.envfile inapps/webandapps/api:# Example NEXT_PUBLIC_FIREBASE_API_KEY=... GOOGLE_APPLICATION_CREDENTIALS=... GEMINI_API_KEY=...
(See
docs/setup-guide.mdfor full keys) -
Run Locally
npm run dev
- Web:
http://localhost:3000 - API:
http://localhost:3001
- Web:
- Barcode Scanning integration
- Multiple Users / Family Sharing
- Shopping List auto-generation from Recipes