Havnetryk
When will there be a berth? Guest pressure in Danish harbors, read out of 17 months of AIS.
I sail exactly the waters — Samsø, Tunø, Anholt — whose harbors overflow on July weekends, so the question is personal: where will I get a berth, and when should I arrive? Havnetryk answers it with guest pressure per harbor, by weekday, hour and season, computed from 17 months of AIS data.
The model is built on rules that keep it honest. Ferries are excluded as noise, and berth-holders are excluded by default — only guests compete for space. Because small craft are invisible to AIS, it claims relative pressure only: rush hours and trends, never absolute berth counts. And geography stays real — distinct harbor names never merge (Skagen is four harbors).
The public site at havnetryk.dk is aggregate-only by design: harbor stats, seasonality, arrival and departure hours, typical stay lengths — plain static HTML with one MapLibre map and small SVG diagrams, refreshed by a nightly anonymized export. The vessel-level layer stays private, permanently: no identities in any public artifact, ever.
- Nightly exports still running unattended
- Named-vessel view gated behind Cloudflare Access
- Coverage area and data freshness on every page
- The site gets its Danish strapline
- Soundings archive moves to R2 storage
- Nightly export, privacy checks and auto-deploy
- First anonymized harbour data export ships
- \"Same vessel, inside this window\" is not a join key
Five merge plans died before the sixth worked, every one measured, none guessed. Hash one side: the planner hashes billions of rows. Force…