Demo-only page — please read this first.
This link is JSON only. It has no webcam, no OpenCV, and no live counting on this page.
The live demo below is a fixed, staged illustration. For the real app — webcam, OpenCV 5, baseline and restock — use the live full app on EC2.
Live demo state (this demo-only link)
Loading…
—
Fetching ./api/demo…
Staged illustration only: a synthetic sparse shelf against a synthetic full baseline. No detector ran here, so there is no measured latency and no annotated image. If this fails to load, the staged values are: Gap, changed 0.625, 3 items vs a full baseline of 8.
View the raw JSON · Health check
Full app demo (EC2, OpenCV 5.0.0)
LOW
Low · changed 0.216
Re-verified 27 Oct 2026, 00:22 GMT, on the live full app. This figure is from EC2, not from this demo-only page.
Open the full app demo
The full app runs the real drift code, webcam dashboard, baseline capture, alerts and CSV export.
What each state means
✅
Full
The shelf looks like its full baseline. No action needed.
⚠️
Low
Some items are missing. Check soon.
🚨
Gap
A clear empty area. Restock now.
🔍
Check shelf
Lighting changed or the camera moved. Do not trust the state — fix the camera or lighting, then re-capture the baseline.
One journey, start to finish
- Point a fixed camera at one shelf and capture a “full” baseline.
- ShelfScan compares each new frame with that baseline.
- A Gap or Low held for 5 frames raises an in-dashboard alert. No SMS, email or push alert in this version.
- Restock fully, capture a new baseline, and the state returns to Full. That re-baseline is the restock confirmation.
Counting, honestly
ShelfScan also gives a rough product count estimate — one class, “product”, no brand or barcode. On 5 held-out real shelf photos it scored MAE 7.0 (predicted 146 vs hand-counted 175): cookie tins 19/20, lemonade 91/88, wooden bottles 14/16, soda cans 17/27, bleach 5/24 (white-on-white, worst case).
Estimate, not a stock count. Do not use it for stock or ordering. Counting does not run on this demo-only page.
What this page cannot do
- No webcam, no photo upload, no baseline capture, no restock action here.
- No OpenCV, no YOLO inference, no annotated image here.
- Fixed camera, one shelf, one area only. No multi-shelf, SKU, barcode or shop till link.
- No shop pilot yet, and no real physical before/after removal pair yet. Gap proof is a simulated whole-row removal on a real photo, plus a constructed stills video.
Go to the live full app →