Walking a festival programme

Walking a festival programme

Year
2026
Role
Designer, Developer
Contributions
World design, Research pipeline, Full-stack build, Route films

In August 2026 Haarlem Live fills cafés, churches and squares across the town with live music, and publishes its programme openly. This map lays that programme out as ground: every room stands where it stands in the town, every act stands outside the room it plays, and standing on an act plays its record. Nobody commissioned it; the map is my own project, live at haarlemlive.storybynumbers.com.

Half a minute of walking it. The ground rises where the rooms crowd together, the roads draw themselves as the traveler crosses them, and the whole world changes ink between legs.

Why a map

A festival programme is published as a list. It sorts by day and by time, it filters by room and by genre, and it answers the question it was built for, which is who is on at nine. It does not say which of the sets have anything to do with each other, and that is the question that decides where somebody actually goes.

Genre tags do not answer it either. Every set on this bill carries them, and being filed under the same word as another band is not a reason to cross a town. Neither is the town itself: every act here is from Haarlem or near it, so a shared city says exactly as much as "both played Haarlem Live".

Compressing the town

Rooms are placed from their real addresses, but a literal projection of the centre of Haarlem is unwalkable: the venues crowd the old centre, some of them thirty metres from their neighbour, and a marker needs far more room than that before it can be seen and pressed. So the town is compressed the way a printed tourist map compresses a city. Two things are kept exactly: the bearing, so what is north of the church stays north of the church, and the order, so what is nearer the middle stays nearer the middle. The metric is the thing given up. The middle opens out, the outskirts draw in, and the festival reads as one village rather than a crowded core with a few strays.

The whole bill in one view. Venue signs where the venues are, act markers wearing a still from their own video and the hour they go on, and the record that is sounding on a slip in the corner.

The relief is how many rooms stand in one area. Neighbouring venues stack into high country and a café on its own raises its own hill, so the busy stretch of town is visibly the busy stretch before anything has been read. Everywhere else on the platform this map runs on, height records how much of the music standing in a place has been heard. On festival ground the town wins, because a visitor can check the town.

Walking the map

Arriving at a room lights its entire bill at once, not the two or three sets nearest the hour. Standing on an act starts its record in the slip at the corner of the screen, with the day and time of the set, the room, and the places the act's own music can be found. The trail behind the traveler stays on the ground, so a walk through the programme leaves a record of itself.

Apart from one card holding the night's running order, the map has no panel that lists what it holds: everything else it knows is an object standing on the ground.

Landing on a room lights every act it holds across the whole festival. Standing on one of them plays the record and says when and where they are on, and where the rest of their music lives.

The roads

Acts with something to do with each other are joined by roads. Some come straight out of the programme, which knows exactly one thing about any two acts: that they played the same room on the same night, one after the other. It is a real connection and it is the only one a festival's own data can support.

The rest had to be found. A research pass reads what each act's own sources say about it and looks for the same name in two answers. A drummer in both bands, a producer on both records, a school both halves of two bands went to, a fourth band that two of these acts each have a member out of. The overlap is found in plain code and never trusted on its own: two pages holding the string "Jan de Vries" is a hypothesis about a name rather than a fact about a person. Every candidate is checked before it is allowed to become a road.

These are as often banal as they are surprising. "The bass player in this one plays in that one" is not a story, and it is a true and useful reason to go and hear the other record. The reason is on screen the moment you arrive rather than behind a control, because a connection nobody can see the reason for is indistinguishable from a recommendation.

On a phone

A hand-held browser will not make a sound until it has been touched, so on a phone the map opens at a door instead of opening in silence. The door is a dial wearing the festival's own mark with every room and act on the bill fanned out around it, and going through it is the gesture that lets the first record play.

The door the map opens at on a phone, and a road stating its reason on arrival. The card names both ends and both of them are somewhere to walk.

Past the door it is the same world in one column. The world fills the screen, one slip at the bottom holds whatever is sounding, and the video folds away under a grip that follows the finger, because a phone should be able to keep the sound and hand the screen back to the map.

Nu en straks

Standing in a room answers what that café has on this week. It does not answer what is on at this minute, which is the question anybody in the middle of a festival is actually asking. So the map keeps one card for the night itself, behind a corner button reading nu en straks, now and soon.

The card opens over the world rather than on a page of its own, so the record keeps playing and the walk stays where it was. Speelt nu, playing now, holds every set on at this minute, each with the hour it started and how long is left of it. Straks is the rest of tonight in the order it happens, and when tonight has run out the card says so and prints the next night under its own date. It never truncates: the card prints the whole night, because ten to seven, when a whole row of rooms starts at seven, is exactly the moment a cap would cut. Every row can be pressed, and pressing one walks the traveler to that act on the ground, or to its room when the act has no record on the map.

The night as a clock, every row a set that can be pressed. And the festival's mark, which the map raises enormous when nobody has driven it for a while; a single press takes it away.

The mark is addressed to a room rather than to a walker. When the map has sat untouched for a while it comes up enormous behind the world, in a different pair of inks each time, in hard cuts with no fades anywhere. It exists because this is the kind of thing that ends up on a screen in the corner of a bar, where half its audience is watching it rather than using it.

The route films

An evening somebody picks is three or four places and the hours they go on at, which is exactly what the map already walks when those places are pressed. So the reels are recordings of the map rather than a second rendering of the same night made to be watched.

day
15 August
stops
18:00 Heights Meditation, Klokhuisplein18:15 Cocobolo, Grote Markt22:00 Gallowstreet, Grote Markt

One evening, as the driver received it.

A real browser opens the festival's own map at a route handed to it in the address bar. A driver plays that route through the same door a thumb opens and the same links a card offers, waiting on the world the way a person does, and every frame the browser paints is kept through the DevTools screencast and cut together afterwards. Each record's own track goes under its stretch of the film.

Changing which evening gets a reel is changing that list of rooms and times on the command line. A festival holds a great many evenings worth showing, and none of them need a video editor.

One evening of the 2026 programme, half a minute long. The strip along the bottom is the route; the sound under each stretch is that act's own record.

Where this goes

The map runs on my own publishing platform, which is where the research, the records and the roads are stored, and a festival is one shape it takes. A pub with a monthly night is another and a promoter with a single evening is a third. The parts that took the work are the ones that are not about Haarlem at all: turning real addresses into ground somebody can walk, finding connections that survive being checked, and filming a route off a live map instead of rebuilding it somewhere else.

If you programme a night, a month or a festival and want to see your own bill standing up, email me at jason@storybynumbers.com.

Visit live site