Robot Pantry Tracker is a web application designed to help you manage your pantry inventory efficiently. Inspired by Walmart's retail robots and inventory management systems, this app brings the power of automated inventory tracking to your home pantry.
Check out my demo video to see the Robot Pantry Tracker in action:
-
Image Recognition: Using an OpenAI CLIP model via a FastAPI endpoint, the app can recognize pantry items from photos.
-
Add Items:
- Manually enter item names
- Use your device's camera to capture and identify items automatically
-
Inventory Management:
- View all pantry items in a list
- Update item quantities easily
- Remove items when depleted
-
User-Friendly Interface:
- Clean, responsive design
- Easy-to-use controls for managing your pantry
-
Adding Items:
- Click the "Add Item" button
- Either type in the item name or use the camera feature
- If using the camera, the app will attempt to identify the item automatically
-
Camera Feature:
- Captures a photo of your pantry item
- Crops and resizes the image for optimal recognition
- Sends the image to a FastAPI endpoint using the OpenAI CLIP model for identification
-
Inventory Updates:
- Use the quantity controls to adjust item counts
- Delete items directly from the list when no longer needed
- Framework: Next.js with React
- UI Components: Material-UI
- API Framework: FastAPI
- Image Recognition: OpenAI CLIP model
- Database: Firebase Firestore
- Frontend: Vercel
- Backend API: AWS ECS (Elastic Container Service)
- Load Balancing: AWS Application Load Balancer
- Containerization: Docker
The FastAPI endpoint for image recognition is available at https://github.com/andrewangbl/clip-fastapi.
To run this project locally:
- Clone the repository
- Install dependencies:
npm install
- Set up your Firebase configuration
- Run the development server:
npm run dev
- Open http://localhost:3000 in your browser
- Barcode scanning for quicker item addition
- Meal planning suggestions based on pantry inventory
- Expiration date tracking and notifications
Contributions to improve and expand the Robot Pantry Tracker are welcome!