A computer vision–powered smart self-checkout system that combines YOLOv11 for real-time product detection and Flask web interface for a seamless, interactive billing interface — designed to revolutionize the retail experience.
- 📦 Real-time Object Detection using YOLOv11
- 🎥 Live Camera Integration for scanning products
- 🧠 Dynamic Product Recognition (from custom-trained dataset)
- 🧾 Flask-based Web UI for cart, checkout, and payment simulation
- 🔍 Product Search with Add-to-Cart and Quantity Control
- 🌙 Dark/Light Theme Toggle with Tailwind CSS
- 🔊 Audio Feedback and Toastr notifications
- 💳 Simulated Payment Form with validation & UX animations
| Layer | Technologies Used |
|---|---|
| Frontend | HTML, CSS, TailwindCSS, JavaScript, jQuery, Toastr.js |
| Backend | Python, Flask |
| CV & ML | YOLOv11 (Ultralytics), OpenCV |
| Deployment | GitHub Pages (Frontend), Flask Local Server |
| Tools | Git, GitHub, Github Pages (UI Hosting) VS Code, Roboflow (for Dataset) |
SmartTrolley - Self Checkout/
├── backend/
│ ├── app.py # Main Flask app
│ ├── detector.py # YOLO detector logic
│ └── products.json # Product catalog with metadata
├── frontend/
│ ├── static/ # JS, CSS, audio files
│ └── templates/ # index.html, checkout.html
├── yolo/ # YOLO training & inference scripts
├── .gitignore
├── requirements.txt
└── README.md-
🔗 GitHub Pages (Live UI):
🎥 Demo Video: Watch it on LinkedIn
git clone https://github.com/princearora-4/smart-trolley.git
cd smart-trolleypython -m venv venv
venv\Scripts\activate # On Windows
source venv/bin/activate # On Unix/Macpip install -r requirements.txtcd backend
python app.pyVisit: http://127.0.0.1:8080/ in any of your browser.
Contents of requirements.txt:
flask
opencv-python
ultralytics
numpy
scikit-image
psutil
matplotlib
torch
tqdm
PyYAML
filterpy
lap
requests
scipy
- Built with YOLOv11 (via Ultralytics)
- Custom dataset containing grocery items (Maggi, Amul Darkchocolate, Balaji Wafers, etc.)
- Annotated using Roboflow and trained using YOLO format
- best.pt weights used in
detector.pyfor live detection via OpenCV
📂 Dataset: Download Dataset (Google Drive)
| File | Description |
|---|---|
app.py |
Main backend Flask app |
detector.py |
Loads YOLO model and performs real-time detection |
products.json |
Product metadata (name, price, description, audio) |
index.html |
Shopping cart UI with camera feed and detection |
checkout.html |
Billing and payment UI with form validation |
script.js |
Handles cart state, AJAX calls, search & UI events |
- ✅ Frontend hosted using GitHub Pages via
frontend-pagesbranch - ⚙️ Backend served locally via Flask
- 🧩 Future Scope: Dockerize app, deploy via Vercel, Railway, or Render
- ✅ Fully functional, solo-developed project
- 🎯 Combines Computer Vision, Web Development, and UX seamlessly
- 🧪 End-to-end tested and hosted using modern DevOps workflows
Prince Arora 🌐 LinkedIn 🔗 GitHub 📧 princeharora4@gmail.com
This project is licensed under the MIT License.