Smart Retail Operations Platform
End-to-end computer-vision + data platform turning CCTV into real-time retail intelligence across a 151-branch retail network.
Lead Data Scientist
The platform turns in-store cameras into operational intelligence: visitor counting, task management, and real-time violation detection running on edge devices inside every branch.
I designed and own the full data platform — from on-device inference on Jetson Nano units all the way to executive dashboards — as the sole data scientist behind a fleet spanning 15+ retail brands and 151 branches.
The pipeline, end to end
Camera to dashboard in six stages — inference happens on the edge, data streams to the cloud, and models turn it into decisions.
What I built
Three-tier rules engine
Violation detection resolves through a Branch → Brand → Abstract hierarchy — most-specific-wins inheritance, so each location and brand can override platform defaults without touching shared logic.
Real-time detection on the edge
Violations fire in real time via Supabase Edge Functions the moment inference lands, instead of waiting on a downstream batch — operators get alerted while the issue is still live.
Analytics V2 — multi-tenant consolidation
Replaced per-client schemas with a single consolidated analytics layer powering a new BI portal — one modeling surface to maintain instead of dozens, cutting onboarding and drift.
Pipeline observability & automation
Added CI/CD around dbt with GitHub Actions and monitoring so builds no longer fail silently — plus reusable Python tooling for data correction and branch onboarding.
The hard part
Catching a silent failure before trusting a single fix
The hardest problems in a data platform aren't the ones that throw errors — they're the ones that succeed quietly while dropping data on the floor. Early on, downstream tables looked healthy while a large share of upstream events never made it through. Nothing failed loudly. The pipeline reported success the whole time.
- 01 · Signal
The numbers didn't reconcile
Row counts between the edge source and the warehouse drifted far apart, but every job was green. A green pipeline moving the wrong amount of data is worse than a red one — it earns trust it hasn't proven.
- 02 · Instinct
Observability before fixes
The tempting move is to start patching. Instead I built reconciliation and monitoring first — a way to measure the gap at every hop — so any fix could be proven against real numbers rather than assumed to work.
- 03 · Diagnosis
Root-caused to the edge, not the cloud
With visibility in place, the loss traced back to a class of silent source-side failures rather than the warehouse or transforms. The observability layer turned an invisible problem into a measurable one.
- 04 · Rollout
Staged, reversible, verified
The correction shipped as a backup-first, dry-run, approve-then-execute framework rolled out in stages — each step verified against the reconciliation numbers before the next branch moved.
The recovered data mattered. The observability layer mattered more — it's the difference between a fix you hope worked and one you can prove did.
Before → after
A platform is judged by what changed, not just what exists. A few of the shifts that came out of the work.