User request (2026-07-16), future scope: integrate live online AIS data to show surrounding vessel traffic, including recognizing ownship.
Scope
- Traffic overlay on the map (primarily in the Live tab, optionally while planning): vessel positions with COG vectors, heading, name/MMSI/type/speed on tap; targets age out when stale (AIS updates are irregular); declutter at low zoom.
- Ownship recognition: user enters their MMSI in settings → own vessel is filtered out of the traffic layer (no ghost duplicate next to the GPS boat marker) and can optionally cross-check the AIS-reported position/SOG/COG against device GPS in the Live view.
- Explicitly a live-online feature: AIS is inherently network-dependent. It must degrade exactly like planning does (feature disabled + honest banner when offline) and must never break the offline core (repo rule: everything except planning — and now AIS — keeps working offline).
Constraints to resolve during design
- No-backend rule: candidate sources that work browser-direct: aisstream.io (WebSocket, free but requires a per-user API key — store the key in settings, entered by the user, never shipped in the repo), AISHub (requires being a feed contributor), regional open feeds (Danish/German coverage needs evaluation for the Flensburg Förde / Danish South Sea area). WebSocket avoids CORS issues. If NO keyless/user-key browser-direct source covers the area acceptably, this feature forces a design discussion (proxy = backend = currently forbidden) — surface that trade-off to the owner rather than deciding silently.
- Not a navigation device: traffic display must carry the existing disclaimer framing prominently. NO collision-avoidance features (CPA/TCPA alarms) in this issue's scope — that would cross into navigation-device territory; if ever wanted, it needs its own spec discussion.
- Battery/data budget: WebSocket stream filtering to the visible bbox; pause when the tab/app is hidden.
- Privacy note: entering an MMSI identifies the user's vessel — keep it local (IndexedDB settings), never transmitted anywhere except the AIS provider's subscription filter.
Interactions
Future scope — after 0.1.0; needs a short spec addendum + owner approval before implementation (data-source choice is the key decision).
🤖 Generated with Claude Code
User request (2026-07-16), future scope: integrate live online AIS data to show surrounding vessel traffic, including recognizing ownship.
Scope
Constraints to resolve during design
Interactions
Future scope — after 0.1.0; needs a short spec addendum + owner approval before implementation (data-source choice is the key decision).
🤖 Generated with Claude Code