Guernsey roadworks

Development updates

Expandable snapshots of current bugs and in flight improvements. Last updated 07/10/2026 for v1.0.37.

8Releases since 21/09/2026
1Database upgrade pending on live

What has changed

Newest first. The data fixes change the numbers on the Stats page as well as what the map draws, so figures seen before 06/10/2026 are not comparable with figures seen after.

Version Change Why
v1.0.37
07/10/2026
Now Roadworks, part of bailiwick.gg
The site lives at roadworks.bailiwick.gg and is called Roadworks. The old roadworks.gg address still works. Questions and corrections go to hello@bailiwick.gg. Live bus positions from bustimes.org can be switched on in the map tools.
One home for the Guernsey sites, one name people already use for it.
v1.0.33
07/10/2026
Parishes per mile of road, and a heat map that explains itself
Parishes are ranked by the share of their own road network under closure, with each parish's network measured from OpenStreetMap (456 km of drivable public road island wide), so a small parish is no longer flattened by its size. The heat map expands to fill the window and carries a panel listing the weighting, filters, counts, lengths, days and the heaviest notices it was drawn from.
A raw count of notices favours the parishes with the most roads.
v1.0.32
07/10/2026
Road lengths, durations and a heat map you can steer
The map now says how many miles of road are closed in the range shown. Stats gains the road closed in the period, the typical and longest closure, the busiest day, a chart of notices active through the period, road closed by promoter, the longest closures, the longest running works, notices by type and by parish. The heat map can weigh each notice by its duration, its length of road or both, and can be narrowed to one promoter or to closures only. Lengths are the extents of the notices added together, so a road under two notices counts twice.
A count of notices lights up wherever there are more roads. Length and duration say how much disruption there was.
v1.0.30
07/10/2026
New look across the whole site
The Night console theme: a navigation rail on the left, the map filling the screen with the date range floating over it, and a panel on the right for the road search, the traffic info filters and route planning. Tapping a notice opens its details in that panel instead of a popup. Quick ranges for today, seven days and thirty days. On a phone the panel becomes a bottom sheet and the rail a tab bar. Last updated time sits bottom left of the map; the map credits moved to the About page.
The old layout hid the filters and route tools behind buttons, the popups were hard to hit on a phone, and the mid sized screens were a mess.
v1.0.25
07/10/2026
Refreshes keep every row current
A refresh now compares the feed's record only with the row that holds its key. It used to match any row with the same content, revive a stale copy and skip the real one, which then served old dates.
After the v1.0.24 rekey a rehearsal on the 2026 rows showed the served set matching the feed row for row only once this was fixed.
v1.0.24
06/10/2026
Rows keyed on the job number
The States feed reassigns its row ids whenever the layer is republished, and rows were stored under those ids, so each refresh overwrote rows with their neighbours' records and left orphans. On 06/10/2026 about half the rows drawn for the day were stale or belonged to another record. Rows are now keyed on the job number, which never changes, rows the feed drops are withdrawn rather than left serving, and the filter that should have excluded No TM records compared the wrong column and matched nothing.
The map and the alerts now leave out works the feed marks finished. The Stats page keeps them, because they happened, and says so.
v1.0.24
06/10/2026
Stats counting fixes
Notices are de-duplicated on the whole notice (reference, project, type, location and both dates), not the reference alone. One reference covers many separate notices in the feed, so they were being folded together and the notice count, the closure count and both rankings were too low. Stepping by school term now lands on the right term on a term's last day. A failed load says it failed instead of showing zero. Fetches past the feed's 2000 record cap are split by date until nothing is missed.
The figures on Stats are higher than before for the same period; they are now right.
v1.0.23
21/09/2026
First published tree
Dates read DD/MM/YYYY everywhere with a date field that ignores the browser's locale.
Visitors with a US locale saw month first dates in the native picker.