Realtime

Live map and telemetry

How a driver's GPS ping becomes a moving dot on every screen that should see it — in under a second.

8 min read · updated

The pipeline

Driver devices report position on a short cadence. Positions land in Redis first — the hot path — and fan out over WebSocket to every dashboard and passenger tracking page entitled to see them. Durable history batches to PostgreSQL on a slower cadence, so the map is fast and the record is permanent.

  • Hot path: device → API → Redis pub/sub → WebSocket subscribers.
  • Durable path: Redis buffer → batched PostgreSQL writes.
  • Entitlement: subscribers only receive positions their organization and role allow.

What the board sees

The dispatch board renders fleet state from the same stream: who is online, on-trip, or idle, and where. Booking state changes ride the same WebSocket, so an acceptance updates the board without a refresh — the map and the booking list can never disagree.

Degradation is graceful

Connections drop; tunnels exist. Clients reconnect with backoff and resynchronize from authoritative state, and a driver's device buffers positions through dead spots. A telemetry gap is visible as a gap — the platform never interpolates fiction into the record.