The problem

It is 2 PM on a Friday. A customer walks into a retail convenience store, heads for the pizza display, and finds it empty. They grab something else – or they leave. Either way, the sale is gone, and no one in the store knows it happened. Now multiply that moment across over 600 locations, across every shift, every day.

This scenario took place at a major American corporation, one of the largest privately held convenience store chains in the United States. Each location features a hot bar offering pizza alongside other food items. Pizza is both a high-margin and high-frequency product, with heated display cases serving as a focal point within the food offerings. However, restocking pizzas relies on manual observation, resulting in inconsistent replenishment. Consequently, revenue loss due to empty pizza shelves was significant and not accurately tracked. To address this issue, the corporation partnered with Wavicle to develop PizzaVision, an AI-based application designed to keep shelves stocked.

Typical hot bar layout

The cost of not knowing

The corporation had tried to solve this before using purpose-built edge hardware. But the solution pilot was not cost effective across over 600 stores including the operational complexity.

As every store location already had security cameras installed overhead, Wavicle saw an opening. If those ceiling cameras could detect pizza fill state reliably enough to trigger a replenishment alert, every store could recover lost sales at nearly zero infrastructure cost. The proof of concept confirmed it. At full fleet deployment, the system ran at $0.45 per store per month. A single recovered pizza sale paid for a full month of coverage

Seeing the display case from every angle

While developing the application from camera feeds, Wavicle faced a few challenges. A single ceiling camera had one angle and one set of blind spots. The other challenges were overhead lights reflecting in the display glass, and customers, labels and objects obstructing the pizza view. At low confidence of 48%, alerts become noise; and store managers learn to ignore noise. Wavicle’s challenge was how to make the system confident enough to be trusted.

The approach taken by Wavicle was to project every ceiling camera’s view into the same coordinate space, then check whether they agreed. PizzaVision pulled frames from each security camera covering a display case and applied a homography matrix calibrated to that camera’s exact position. All cameras’ views were mapped into a shared canonical space. Now two pizza detections from different angles and cameras but in the same space were treated as the same pizza. With multiple cameras, the system reached an 86% corroboration rate generating an alert worth acting on.

Example of a four camera homography

A complete pipeline built on Databricks

The entire application architecture ran on Databricks. Unity Catalog was used to govern all data and model artifacts, from raw camera frames to deployed ONNX files. ONNX is an open standard format designed to represent ML models and ensured interoperability. The images from the security camera’s API landed in Unity Catalog Volumes in the Bronze layer. Databricks workflows with MLflow then scheduled the jobs that ran inference, with a fine-tuned YOLO model writing results to Delta Lake Silver tables. A Gold layer computed tracked pizza entities and fill-state transitions. When PizzaVision detected an empty display case, the Databricks SQL Alerts reached store staff within seconds. The end-to-end workflow was architected to run under five minutes from detection to resolution.

Medallion architecture: Bronze ingestion through Unity Catalog Volumes, Silver inference via Databricks Workflows and Delta Lake, Gold alerts via Databricks SQL

A model that improved with every shift

The YOLO model, designed for the American corporation, was fine-tuned on about 5,000 labeled pizza images across eight fill-state classes. Wavicle built the React labeling application to generate those labels with all API calls routed through the Databricks AI Gateway.

Including the human-in-the-loop any detection where the model’s confidence fell between 0.3 and 0.5 was a signal. They were automatically flagged, routed to a human review queue, and fed back into the training set once reviewed. A retraining job in Databricks Workflows picked them up regularly. The model became sharper with every shift it monitored.

Modeling pipeline: YOLO fine-tuning through MLflow, ONNX deploy to Unity Catalog, active learning feedback loop on Databricks

Results

Wavicle ran a test for seven consecutive days across three stores and multiple cameras. The PizzaVision application processed over 27,000 frames and tracked over 1,200 unique pizzas. It detected 25 empty-display events. It traced the average pizza display lifetime of 47 minutes. These insights had not been captured before. They have changed how the American corporation thinks about staffing, replenishment scheduling, and the economics of the food program.

With the success of the PizzaVision application, the corporation plans to extend the platform to roller grills, fuel pump indicators, or spill detection. The pizza display case is the first use case. The platform is ready for more.

Related Posts

  • Azure DevOps
  • Databricks Lakehouse Platform

Hospitality and Gaming Enterprise Modernizes En...

  • Google Cloud Platform (GCP)
  • Terraform

Global QSR Ensures Uninterrupted Customer Exper...

  • Databricks
  • Databricks Unity Catalog

Retail Enterprise Advances eCommerce and Loyalt...

  • Databricks
  • Databricks Lakehouse Platform

Global QSR Chain Strengthens Data Governance by...

  • Google Cloud Platform (GCP)
  • Tableau

Modernizing ESG Data for Resilience and Compliance

  • Databricks
  • Databricks Unity Catalog

Ensemble Health Partners Modernizes Data Govern...

  • Databricks
  • Databricks Unity Catalog

How Pilot Company is Reducing Costs, Accelerati...

  • Amazon Aurora
  • Amazon Elastic Container Service (ECS)

Accelerating Store-Level Speed to Insight for P...