What changed after launch
Used on more than 1,200 trips in its first season with zero reported data loss.
- SvelteKit
- TypeScript
- IndexedDB
- Workbox
Key figures
- Offline score
- 100
- JS shipped
- 40 kB
- Store rating
- 4.8
Web App
An offline-first tide and weather planner for small-boat sailors, built as an installable progressive web app.

Sailors plan trips in the harbour and check them again on the water, where the connection disappears. Existing apps showed spinners exactly when people needed the data most.
Tidepool had to work fully offline for a week of planned trips and still feel instant on old phones.
How it was built
Six phases from the first conversation to the release. The bar shows how the time was split.
Sailors walked us through planning a trip with no signal on board; the offline cases came straight from them.
Data model, rendering strategy and API contracts were agreed before the first screen was drawn.
A component inventory and responsive layouts, built entirely from design tokens.
Features went live in small slices behind flags, with typed boundaries between client and server.
Unit, end-to-end and accessibility checks ran on every pull request.
Every branch got a preview environment; the production rollout was a single click.
Used on more than 1,200 trips in its first season with zero reported data loss.
Outcome

Used on more than 1,200 trips in its first season with zero reported data loss.
Key figures
The service worker precaches the shell and stores every planned trip as a self-contained bundle. The UI reads only from local storage, so online and offline look identical.
Forecast updates are diffed on the server and shipped as small patches, which keeps background syncs under 20 kB.
Next project
Keep exploring