Acuity Brands
Acuity Brands - Sept 2019 to Feb 2022 Consultant, then Chief Cloud Officer
I joined Acuity Brands in September 2019 as a consultant, brought in to help scale the cloud platform behind their IoT-enabled lighting business. The relationship converted to full-time Chief Cloud Officer in February 2020, and I held that role for two years until I departed in February 2022 following an acquisition and restructuring. The nature of that departure is worth its own paragraph at the end.
Acuity's IoT business was big-box retail and industrial: Walmart, Target, Home Depot, CVS, Walgreens, plus manufacturers including Rivian. The deployed estate, by the time I departed, was on the order of 100,000 facilities, each with somewhere between a thousand and several thousand light fixtures in the ceiling. Each fixture was a small node in its own right, with on the order of ten sensor and control endpoints embedded in it. The fixtures were mesh-networked to each other, batched their data through an on-prem fog gateway, and reported to the cloud.
The shape of the data system was a three-tensor: facilities × fixtures × (sensor|control). Each (sensor|control) endpoint had its own digital twin in the cloud — a bidirectional state mirror. Writes to the twin propagated down to the physical endpoint as control commands; state changes at the endpoint propagated up to the twin. Real-time dashboards aggregated over the twin estate to give customers a live view of their facility state, with anomaly detection, energy monitoring, and shopper / asset location laid on top. The total digital twin count across the deployed estate was on the order of 10^9.
Two things made the system tractable at that scale. First, the event rate per endpoint was bimodal: high-frequency endpoints emitted on the order of 10^5 events per day, while most other endpoints were run-length-encoded and emitted closer to 10^2 events per day on average. The mix gave us aggregate throughput in the 10^12 events-per-day range without the cost structure that 10^9 × 10^5 would imply. Second, the fog gateway and the fixture mesh did the local aggregation and batching that the WAN couldn't have absorbed unbuffered.
The indoor-positioning side was where the customer-facing differentiation lived. BLE triangulation across the fixture mesh, using RSSI and time-difference signals, placed a smartphone or BLE beacon (the latter clipped to shopping carts, baskets, or assets) to within 50 cm. When a customer's app exposed the optical camera, we could fuse the camera frames with the BLE position estimate and tighten that to 10 cm. At big-box retail scale, that meant we could tell customers not just which aisle a shopper was in but which side of which aisle, which shelf, and how long they dwelled in front of a given SKU.
I left in February 2022, but not the way most of my colleagues did. Acuity went through an acquisition and restructuring that quarter, and the Office of the CTO was discharged. I was offered a choice that most of the office was not: work under the newly appointed CIO, or take a severance package. I took the package — the platform was solid, and I wanted the runway to pursue my own research program, which is what I have been working on since.