How it works
Everything a route needs, in your pocket.
A route planner usually leans on a server for the map, the routing and the reading. PowerDelivery does all three on the phone, which is why it keeps working when the signal doesn't.
One download, then nothing
The area's drivable roads, every address point, the post offices and depots, from OpenStreetMap: up to 30 miles around your depot, fetched in tiles that resume if the connection drops. In the US the USGS's aerial photos can come with it.
The router is on the phone
Drive times between every pair of stops are worked out over the area's own road graph, in a fraction of a second, with no routing server. That is what lets it re-plan from where you are in a dead zone.
The label reader is on the phone
Barcodes and text are read from the camera by models built into the app. Nothing is uploaded to be read, so a label is read as fast in a basement as on Main Street.
Step by step
From a label to a door.
Reading
Every code on the label, and the text beside them
Each frame is searched for every barcode, not just the first: USPS IMpb, UPS 1Z, FedEx, Royal Mail's Mailmark, DPD and the UPU's tracked-item numbers, each kept only if its check digit agrees. The text is read at whatever angle the label is turned, and a destination postcode in a barcode mends a misread one in the text.
Finding
From an address to a door
The doors you have delivered to come first, because the app records where you were when you pressed Delivered. Then the map's address points, by number or by a house's name; then a position between the nearest house numbers on the same side of the street; then the street, the townland or the village. Where OpenStreetMap is thin, Overture Maps' county and state address records fill in.
Routing
Turns cost time, and the curb side matters
The search runs over road segments, so a left turn across traffic costs more than a right, U-turns most, and turn restrictions and one-way streets are obeyed. In a right-hand-drive truck the router prefers going round the block so each stop arrives at the curb on the seat's side. Where traffic keeps left, all of it mirrors.
Ordering
The best order, deadlines kept
Nearest neighbour to start, then 2-opt and Or-opt improvements on drive time, with guaranteed parcels (Priority Mail Express, Next Day Air, Special Delivery, Express Post) weighed heavily against being late.
Estimating
When the day will actually end
Driving, walking from where you parked to nearby stops, time at each door and for each parcel, signatures, breaks and the run back to the depot, against the paid day. Streets you drive often take on your real speed, and the finish time follows your real pace.
Loading
A shelf for every parcel
The truck is a grid of cells set to match the labels on its shelves. Each scanned parcel takes the next cell with room, a stop's parcels together, so whatever order the route ends up in, each stop names the cells to reach into.
Measured
A real town, 150 real addresses.
Springfield, Illinois, a 3 km radius around downtown.
- Map download, once
- 10 MB in 44 s for a 3 km radius: 4,633 roads, 19,138 address points
- Road graph
- 23,369 nodes and 47,678 edges, built in 4 ms
- 150 stops found
- 139 exactly, 11 between neighbouring numbers, in under a millisecond
- Drive times, 151 × 151
- 119 ms
- Ordering
- 559 ms, from 358 miles in the order typed to 51
- Right-hand-drive truck
- Left turns 60 → 25, stops reached at the curb 25 → 51 of 57
Underneath
The engine runs inside the app.
The same Unidatum engine that runs clusters is linked into the app, with DuckDB beside it. The day's stops, the area's map and its road graph are kept in it on the phone, so a second phone paired later, a substitute on the same route, can be given them like anything else.