Real-time order tracking looks simple from the outside: a little map, a moving dot, a status label. "Order confirmed → Preparing → On the way."

Then you build it, ship it, and watch it break at 8 PM on a Friday when 200 riders are online — and you learn that geospatial state is a stream, not a point.

I work on MealApp, a restaurant marketplace in Antwerpen that handles delivery, pickup, and table reservations in one app. The live rider tracking feature is the most deceptively difficult thing we've built. This post is the tutorial I wish I'd had: the architecture, the bug we shipped twice, and the fix.

The naive version (what everyone builds first)

The obvious approach: