- Role
- Senior Product Manager, Integrations & AI
- Org
- Compass Digital · Toronto
- Team
- 5 cross-functional squads — ~25–30 engineers incl. QA, 4 designers, 1 associate PM
- Partners
- Global Payments, Agilysys, Volante, Grubhub, Transact, Amazon, Google
- Product
- CentricOS integration layer — live at 10,000+ locations
Context
CentricOS is the integration layer behind Compass's POS and kiosk estate. Its job is to publish menu and configuration changes out of the backend and into partner systems. It runs live at 10,000+ locations, inside a 30,000-site, 292,000-user North American estate.
The problem
Tickets kept arriving about synchronization delays. Publishes were sometimes late; sometimes the end-to-end integration broke outright. The mechanism underneath was polling — and the failure mode was more interesting than a wrong value.
The partner system would drop a process and send no acknowledgment at all. Nothing reported an error. From our side the publish looked sent. From the site's side, the menu was simply stale. The data quality problem was an absent signal, not a bad one — which is why it never showed up cleanly in a ticket queue.
Approach
The partner move came before the engineering move. I asked the partner to build a dashboard — on their side — exposing the KPIs that measured our SLAs, and we reviewed it weekly.
- An SLO breach stopped being a claim I was making about their system and became a fact on a screen we were both looking at.
- The weekly cadence moved the conversation from incidents to trends — from "this store is broken today" to "this is drifting."
- Only once we shared instrumentation did the joint engineering work have a scoreboard to land against.
What we built
We replaced polling with webhooks. State changes propagated with acknowledgment, instead of being inferred from a poll that might silently never have run — so a dropped process announces itself instead of hiding.
"Get to shared instrumentation with the partner first. You can't fix a data quality problem that you and your partner are describing differently — and silent failures are the ones that never make it into a ticket at all."