How it works
GPS ping every 5s
Haversine distance to nearest route point
>80 m threshold
Deviation flagged; 15 s cooldown before next reroute
OSRM request
Road-snapped route from current position → destination
ETA recalculated
New geometry → new distance → new arrival time