12 places on one day; 6 of them in daylight The Old Harbour · 23:22 The Circus · 00:22 The Square · 01:22 The Jetty · 04:22 The River · 06:22 The Airport Road · 08:22 The Western Road · 11:22 The Kona Road · 13:22 The Causeway · 16:22 The West Gate · 17:22 The Harbour · 19:22 The Port · 20:22

Meanwhile

Twelve places that will never meet, keeping one diary.

Behind the scenes

Surveillance ad absurdum

Cameras in public spaces have become a common occurrence. Companies and governments film everything and everyone. Where enough cameras are, movements can be tracked, people can be analyzed, behaviour gets sorted.

Meanwhile continues the story where no story can be, because the data comes from different places around the world. The tool is still tasked to discover a pattern where no pattern exists. It is looking into the dark and seeing faces, writing stories about them.

Once a day, at 14:00 Europe/Zurich

The tool pulls still images from every camera regularly and tries to find people and things. Everything the cameras noticed since the last entry is summarised and handed to a large language model, together with the previous entry itself, so that the diary carries on rather than starting from nothing each day. If the last entry looked forward to something, this one is asked to say what came of it.

The twelve cameras

DiaryWhereFramePublished by
The Old Harbourcalm · harbour Reykjavík harbourEurope 400×224 Windy Webcams
The Circusbusy · crossing Piccadilly Circus, LondonEurope 352×288 Transport for London found via Windy Webcams
The Squarebusy · square Sechseläutenplatz, ZürichEurope 960×256 NZZ / Roundshot found via Windy Webcams
The Jettycalm · harbour Manadhoo, MaldivesAsia 400×224 Windy Webcams
The Riverbusy · river Krung Thon Bridge, BangkokAsia 400×224 Windy Webcams
The Airport Roadbusy · road Haneda, TokyoAsia 400×224 Windy Webcams
The Western Roadbusy · road Lincoln Road, AucklandOceania 400×224 Windy Webcams
The Kona Roadcalm · shore Kailua-Kona, Hawai'iOceania 400×224 Windy Webcams
The Causewaybusy · road Stanley Park Causeway, VancouverNorth America 480×288 DriveBC
The West Gatecalm · gate Yellowstone National Park, West EntranceNorth America 960×540 US National Park Service
The Harbourcalm · harbour Baie-D'Urfé Yacht Club, MontréalNorth America 960×540 Baie-D'Urfé Yacht Club found via Windy Webcams
The Portbusy · road Port of MontevideoSouth America 400×224 Windy Webcams

All of them are cameras their operators put on the open web on purpose. Nothing private is used, and nothing is reached that its owner did not publish.

Two kinds of sound, both optional

Each entry comes as a track in three parts. Two presenters open it, say which day and which of the three entries this is, and hold one thing back. Then the entry itself is read. Then the same two talk it over and settle whatever the opening withheld. The opening is built from one of six shapes, rotated so that no two entries in a row start the same way, and each episode closes with a thank-you from one of the two — alternating, so whoever signs off this time does not sign off the next.

The talk afterwards is commentary rather than a recap, and it is measured against the entry: a draft that runs longer than the entry it discusses is thrown away. It gets three subjects at most, four or five lines each, and it is pointed at whatever the sightings mark as new — something never seen before, a regular that failed to turn up, a near miss, an object that keeps reappearing. A quiet ordinary day gives it nothing to say, which is the intended behaviour.

All three voices are gpt-4o-mini-tts, chosen over better-sounding voices because it can be directed: the reading is told to be dry, patient and unhurried, and the two presenters are given separate temperaments. The script comes from the same model that wrote the entry, working from the entry and the sightings under it. The presenters can only discuss what is in those notes, they are held to the same rules as the writing, and a draft that calls a figure "he" or "she" is thrown away and asked for again: nobody here knows anything about these figures beyond what they were wearing.

The twelve places can also be heard rather than read. Every camera gets a voice, pitched by its place in the eastward order, audible only while the sun is up there and chiming when something is found. It is made in the browser, opt-in, and silent until asked.

None of these cameras carries sound. Nothing you hear is a recording of anywhere: it is either the entry being spoken, the two synthetic voices discussing it, or the site's own numbers turned into tones. Inventing the noise of a harbour we cannot hear would undo the point of the rest of it.

The one thing that is not from a camera

Every entry looks for something good that really happened in one of the twelve places, on the day those hours belong to. Not the bright side of a bad event — no rescues, no recoveries, no fires brought under control — but a plainly good thing: something opened, finished, came back, was given, was celebrated. The entry then has to find what it genuinely has in common with what the cameras saw and say so in one sentence, without announcing that it is doing it.

It is found by search rather than written from memory, and it is kept only if it comes with a link. Without a paid key it reads the places' own local news feeds instead, and may only choose from what those feeds really published. Each entry looks at four of the twelve places, rotating, so different episodes end up somewhere different. If nothing can be sourced, the entry goes out without one. The diary is allowed to have nothing to report; it is not allowed to invent something.

What is found is kept, with the mission behind it — what the ship is for, what the building is for. Later entries are given the earlier good things and may reach back to one when today's rhymes with it, and if a story has actually moved, the search follows it up rather than starting again. Nothing about what became of them is guessed: an entry may remember a ship, but it may not decide that the ship has sailed.

Publication dates are the weak point. Some outlets sit behind a check that answers this server with a refusal rather than a page, so a date is sometimes inferred rather than confirmed. Where that is the case the entry says so next to the link.

Where it falls over

So far

frames looked at
35897
diary lines
9309
of those, described
2705
entries written
16

Python 3.12 · Ultralytics · Ollama · FastAPI · SQLite · APScheduler. One process, doing very little, very patiently. Back to the diaries →