The astonishing fact that Canadians wasted over 500 million dollars worth of food due to expiring products in 2022 shocked us. It motivated us to contribute to the UN's 12th Sustainable Development Goal - Responsible Consumption and Production. We created Pantry Sidekick to help users manage their food items sustainably by tracking expiration dates and reducing waste.
Pantry Sidekick recognizes pantry items using image recognition technology and tracks the expiry dates. It aids users in efficiently determining which items are nearing expiration, promoting responsible consumption.
We developed Pantry Sidekick with a combination of technologies:
- Image Recognition: The YOLOv8 model, customized with our dataset, is used for scanning and identifying food items.
- Backend: We chose Python and Flask for our server-side operations with SQLite managing our data storage.
- Frontend: HTML, CSS, JavaScript, and Bootstrap 4 were utilized to craft our user interface. Additionally, Adobe Fresco and Adobe Firefly helped create our app's logo and thematic background images.
From finding a dataset for training our model to creating our own with Roboflow, our journey was riddled with challenges. We also implemented strict version control to minimize merge conflicts, allowing us to focus on integrating our dataset and developing the app.
We take pride in crafting a fully functional app with precise image detection and an expiration tracking system. It's an application that echoes our drive for sustainability.
The value of food and its conservation has been a key takeaway from this project, underscoring the gravity of food wastage globally.
We aim to implement a notification system with Twilio API to alert users of impending expiries. We also plan to introduce a feature to suggest recipes based on available pantry items, promoting culinary diversity and furthering our reach.
- Visual Recognition: Instantly recognize fruits and vegetables using the advanced YOLOv8 model, simplifying the process of adding items to your pantry.
- Expiry Date Tracking: Keep track of the expiry dates for each item, allowing you to consume them in an efficient manner and minimize waste.
- User-Friendly Interface: Navigate through the app with ease thanks to our straightforward and intuitive design.
- Frontend: HTML, CSS for a sleek and responsive design, enhanced with Bootstrap for styling and components.
- Backend: Python with Flask, providing a robust and scalable framework.
- Database: SQLite for efficient data storage and retrieval.
- Machine Learning: YOLOv8 from Ultralytics, for cutting-edge visual recognition capabilities, with a custom dataset trained using Roboflow.
Before you begin, ensure you have the following installed:
- Python 3.8 or newer
- Flask
- SQLite
Follow these simple steps to get Pantry Sidekick up and running on your local machine:
- Clone the repository:
git clone https://github.com/Reyhan-Sam/Pantry-SideKick.git- Navigate to the project directory and install the required dependencies:
cd pantry-sidekick
pip install -r requirements.txt- Set up the Flask application:
export FLASK_APP=app.py- Initialize the database:
flask shell
from app import db
db.create_all()
exit()- Start the Flask server:
flask run- Open your browser and navigate to http://127.0.0.1:5000/ to start using Pantry Sidekick!
