Room: Web apps
The Persistence of Cache
A courier company planned its routes on a spreadsheet that took a minute to open. The new app plans them before the coffee is ready.

Curator's note
Kolo Logistics delivers by cargo bike across Prague, 1,400 parcels a day. Dispatchers planned the routes in a shared spreadsheet that froze every morning at seven. They wanted a planner that shows every parcel on a map, splits the day between riders, and keeps working when the office Wi-Fi doesn't.
From the visitors' book
“The spreadsheet had a name. We held a small ceremony.”
Wall text
The planner works offline first: the dispatchers’ laptops keep a copy of the day, and the server catches up when the Wi-Fi does. Nothing waits for the network.
The map is the interface
Every parcel is a dot, every rider a colour. Dispatchers drag areas between riders and the planner redraws the routes in under a second.
A server that sleeps well
It runs on one modest server with Postgres, backed up every hour. It has been restarted twice in two years, both times by choice.
Installation views

After hours the work continues. It's a web app; it has to.
Provenance
- Morning planning time
- Before: 55 minAfter: 9 min
- Parcels delivered on the first try
- Before: 88%After: 96%
- Spreadsheets retired
- After: 1
Materials
- TypeScript
- PostgreSQL
- Node.js
