Skip to content
The whole collection

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.

A black server rack displayed alone in the middle of an empty white gallery behind a low rope, two visitors whispering at a respectful distance.
The Persistence of Cache2024TypeScript, Postgres and a great deal of patience, on a single well-behaved serverCourtesy of Kolo Logistics

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.”

Tomáš Horák · Head of dispatch, Kolo Logistics

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

  • At night in an empty gallery the server rack glows with small green and amber lights, reflected in the polished floor.
    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

In the next room

Commission a work

Ask the museum's guide

The collection, prices and opening hours

Welcome to the collection. Ask me about the works, what a commission costs, or when Leo is free.

Accent

Get itGet this template: Plinth on WPTom