Smart RetailAnalytics
Footfall, occupancy and heatmaps from a store camera — running at 5.30 FPS with no GPU, no cloud, and no stored imagery.
Hover the panel to run it
Tracking people · nothing is stored
A store wants to know how many people came in, where they lingered, and how full it gets. The usual answer is a cloud vision service, which means shipping customer footage off-site and paying per frame forever.
No GPU, no cloud, and no stored imagery — the last one by choice. Anything that keeps frames becomes a privacy liability, so the system had to compute its numbers and forget the picture, on whatever hardware the store already had.
What I built
- Step 01
- Step 02
- Step 03
- 01
Detection and tracking that fit the budget
YOLOv8n handles detection — the smallest model in the family, chosen because it fits a CPU budget — and SORT maintains identity between frames so a person crossing the door counts once rather than every frame.
- 02
Occupancy and Gaussian heatmaps
Tracked positions accumulate into Gaussian heatmaps showing where attention actually goes, alongside a live occupancy count.
- 03
A dashboard, not a video feed
React and Vite front the numbers. Nothing in the pipeline persists an image, so what the dashboard shows is all that ever exists.
What moved
Running

