All projects

Live/2026/Design & build

Tidewater

A tide and swell board for a stretch of coast the big forecast apps ignore, built around one question: is it worth the drive tomorrow morning?

Tidewater pulls tide predictions, buoy readings and wind from three public feeds, reconciles them onto a single hourly timeline, and renders a board you can read in the dark at 5am without waking up properly.

Why it exists

The commercial forecast apps cover headline spots and interpolate everything else. For the stretch of coast between the two nearest stations, that interpolation is wrong often enough to waste a morning. Tidewater keeps the raw station data visible instead of smoothing it away, so you can see when the sources disagree and make your own call.

How it works

  • A scheduled function fetches each feed and writes normalised hourly rows.
  • Readings are deduplicated by station and timestamp, keeping the most recent revision.
  • The board renders server-side so the first paint already has today's numbers.
  • Disagreement between sources is drawn explicitly rather than averaged.

What I would change

The reconciliation logic grew organically and now deserves a proper state machine. The hourly cadence is also more frequent than the underlying feeds update, which wastes requests for no extra freshness.