All projects
2024.03Retail & LogisticsNew Build

Delivery Control System

Tracks vehicle location and delays on a live map while deliveries are underway.

WebServer & Infra
Delivery Control System
Screen reconstructed from delivered work. Contains no client data.
Timeline
About 5 months
Team size
4 people
Platforms
Web · Server
Scope of monitoring
Delivery vehicles in transit

Background

Dispatchers checked where a delivery vehicle currently was and whether it was running late by phone. As the fleet grew, phone-based tracking reached a point where it simply didn't work anymore.

Scope

  • Real-time vehicle location collection
  • Map-based control screen
  • Delivery delay detection and display
  • Dispatcher alerts
  • Delivery completion history lookup

Technical decisions

What we chose, and why it fit

Separated vehicle location collection from delay detection logic

Location collection needed to run continuously without interruption, while delay detection was a separate calculation factoring in route and schedule. Separating the two roles kept the location collection pipeline stable while letting delay detection logic be improved independently.

Updated the map screen's location data in Next.js via subscription rather than polling

Dispatchers had to watch multiple vehicles at once, and needing to refresh manually each time would have delayed their response to delays. We made the screen reflect location updates immediately, so dispatchers just needed to keep watching.

Engineering challenges

Problem

Vehicle GPS units had inconsistent connectivity, so some vehicles' location updates arrived with multi-minute gaps.

Approach

We displayed the last received location together with its timestamp, and flagged vehicles separately on the control screen whenever location hadn't updated for longer than a set time.

Result

Dispatchers could now distinguish vehicles that had lost connectivity from those operating normally.

Problem

Delivery routes kept changing with real-time traffic conditions, so the originally calculated arrival estimate quickly became meaningless.

Approach

We had the estimated arrival time recalculated periodically from the vehicle's current position, rather than fixed once, and showed it on screen along with the recalculation timestamp.

Result

Dispatchers could judge delays from an arrival estimate kept current, rather than a stale one.

Handover and operations

We provided a control screen usage guide for dispatchers in Japanese, and documented the GPS unit integration method separately. We handed over the source code and infrastructure configuration, and supported connectivity issue response during the initial operating period.

Stack

PythonNext.jsAWS