• Get Started
IOS REFERENCE

SafeAnchor — anchor watch and radar

SafeAnchor is the anchor alarm. It watches your boat while you sleep, and

calls you when something changes.

SafeAnchor — screenshot pending

The tab has a bottom pill bar with three sub-modes:

Anchor Watch — Radar — Remote.

Anchor Watch

The focused monitor:

  • Anchor coordinates of the pin you dropped.
  • Drift distance — how far you are from the pin right now.
  • Alarm state — Idle, Armed, or Drifting.
  • Manual controls to test the alarm sound, clear the anchor, or arm /
  • disarm.

    To set the anchor:

  • Drop your physical anchor and let the boat settle.
  • Tap Set Anchor to drop the pin at your current position.
  • Set the alarm radius to your rode length plus a margin for GPS drift.
  • Tap Arm.
  • The alarm state badge changes to Armed. If you cross the radius a

    continuous siren sounds, the screen flashes, and you receive a

    notification. While the app is open, the siren plays at full media

    volume — ignoring the ring/silent switch and ringer volume — and keeps

    looping until you silence, extend, or disarm.

    When the app is in the background or the screen is locked, the alarm

    reaches you through a Time Sensitive notification that pierces Focus

    and Sleep modes; if you leave it unacknowledged it re-posts every

    30 seconds for 5 minutes, so a missed first banner is not the last one.

    Opening the app from the notification resumes the full-volume siren and

    the on-screen controls. For the loudest possible alert with the screen

    off, keep Time Sensitive Notifications enabled for AnchorQueen (see

    Troubleshooting → My alarm didn't sound).

    When the drag alarm fires

    A full-screen Anchor Dragging alert takes over the display. It shows

    your current distance from the anchor, the safe-zone radius, and how long

    the alarm has been active. Two actions:

  • Extend Safe Zone — keeps watching at a wider radius. Tapping it
  • first shows a confirmation that previews the change: how far you are

    past the current zone now, and the new radius the watch will resume at

    (your current distance plus a 25 % margin). Confirm to grow the zone

    and re-arm; the watch never goes blind.

  • Disarm Alarm — stops watching. The anchor drop point and the swing
  • rings stay on the chart, but no further drag alarms fire until you

    re-arm. Use this when you've decided the position is fine or you're

    about to re-set the hook.

    Grounding alarm

    Separate from the drag alarm, AnchorQueen watches the water under your

    keel. On every position fix it estimates your under-keel clearance and

    warns when it drops below your safety margin (default 0.5 m, adjustable in

    Settings). Clearance is resolved from the

    best source available — a live NMEA depth sounder first, then charted

    soundings, then the offline NavGrid bathymetry — so it still works with no

    signal. The alarm message names the source it used (e.g. "navGrid").

    When it fires you get a GROUNDING ALARM notification plus a red

    banner across the top of the chart. The banner has two actions:

  • Silence — mutes the grounding alarm for 30 minutes. Use it when
  • you know you're in a thin-water berth and the warning is expected.

    Resume early from Settings → Anchor Watch.

  • Dismiss (✕) — clears the banner for this event without muting. If
  • the water gets shallower or you move into a fresh shallow patch, the

    alarm surfaces again.

    The alert sounds once per grounding event — it won't fire-storm

    while you sit in the same spot. It re-arms automatically once clearance

    recovers to safe depth.

    Force-quit safety net

    AnchorQueen watches your boat with two independent mechanisms working

    together. The first is the in-app drift engine — the one you can see in

    the radar and the Anchor Watch panel — which runs while iOS is happy to

    keep the app alive in the background. The second is an OS-level

    geofence: the moment you arm the watch, AnchorQueen asks iOS to

    register a circular safety zone at your anchor plus a small margin

    beyond your alarm radius. That zone lives inside the operating system,

    not inside the app.

    What that means in practice:

  • You lock the screen / put the phone in your pocket — the in-app
  • engine keeps running, the geofence sits dormant as a backup. Normal

    case.

  • iOS terminates AnchorQueen to reclaim memory overnight — the
  • in-app engine is gone, but iOS still watches the geofence. The

    moment the boat crosses it, iOS relaunches AnchorQueen in the

    background, raises the alarm, and sends the notification.

  • You accidentally swipe AnchorQueen out of the multitasking
  • switcher ("force-quit") — same story. The geofence survives,

    AnchorQueen is relaunched on a crossing, the alarm fires.

  • The phone reboots while you're at anchor — the geofence is
  • preserved across reboot. AnchorQueen is still on watch.

    The two layers run together because each catches what the other

    misses: the in-app engine reacts in seconds with sub-metre accuracy

    while the app is alive, and the geofence guarantees the alarm still

    reaches you when the app isn't.

    A green BEACON badge appears under the place name at the top of the

    chart whenever that background geofence is live — a quick visual

    confirmation that the watch keeps guarding even with the app closed.

    Closing and reopening the app keeps the watch. If you quit

    AnchorQueen (or iOS unloads it) while anchored, reopening it restores

    the whole watch — the armed alarm, the swing rings, the recorded swing

    track, and the chart zoom all come back exactly as you left them. The

    alarm does not false-fire on reopen; it simply resumes watching.

    For this to work, AnchorQueen needs Always location permission and

    the system notification permission — both prompted the first time you

    arm a watch. See [Settings → Anchor Watch

    Settings](settings.html#anchor-watch) and

    troubleshooting if either

    prompt was missed.

    > The honest limit: iOS can guarantee the relaunch only while the

    > device has power, a GPS or cellular fix, and you have not disabled

    > location services for AnchorQueen. Airplane mode, a flat battery, or

    > revoked permission defeats both layers — there's no way around

    > physics. We surface a persistent "Anchor Watch armed" notification

    > while the watch is live so a quick glance at the lock screen

    confirms the safety net is in place.

    Lock the anchor

    Once set, the anchor pin is locked by default (orange padlock button,

    bottom-left of the chart) so panning or zooming the chart can never drag

    it by accident. To reposition the anchor by hand, tap the padlock to

    unlock, drag the pin, then tap it again to re-lock.

    Confirmations

    Because these actions change a live watch, AnchorQueen asks you to

    confirm before:

  • Lifting the anchor (ends the watch).
  • Pausing the watch (stops the drag alarm until you resume — the
  • anchor and rings stay put).

  • Moving the anchor with Direct-It while a watch is already active.
  • Re-arming (resume) and the very first drop happen immediately — they

    only add protection.

    Drift forecast

    Tap the clock button (bottom-left) to open the forecast scrubber.

    Drag the slider — or press play — to sweep a ghost of your boat through

    past → now → forecast. The past comes from your recorded swing

    track; the forecast projects where the boat will lie under the hourly

    wind and current.

    The scrubber is laid out in rows so it never runs off a narrow screen:

    the status label (NOW / PAST / FORECAST) and the time sit on top, the

    slider gets a full row of its own, the tier ladder follows, and the

    transport buttons — play, honeycomb, ⓘ, and dismiss — sit on the row

    below.

    The slider is split in half: the left half is your recorded past, the

    right half is the forecast, and the green tick in the middle is now.

    That keeps even a short anchorage's history easy to scrub instead of

    crushing it into the far edge. To jump straight back to live, tap the

    green tick, release the knob near it, or tap the status label (NOW /

    PAST / FORECAST). The forecast half gives fine control over

    the next few hours and compresses the distant outlook, so a long

    forecast stays easy to scrub; the time label shows the lead (e.g. +14h,

    +2d3h) as you go.

    How far ahead you can look depends on your plan:

  • Free — 1 hour. A quick look at the next hour.
  • Pro — 12 hours. An overnight planning window.
  • Max — 3 days. A full multi-day outlook.
  • The slider spans exactly your plan's reach, and a three-chip tier

    ladder under it (Free · 1h / Pro · 12h / Max · 3d) shows the longer

    windows the higher plans unlock. Your current plan's chip is ringed; tap

    a locked chip to open the Store and upgrade.

  • A honeycomb of coloured cells shows *where the boat is likely to
  • sit* at the scrubbed hour — green = less likely, red = most likely

    — widening further into the future as uncertainty grows. Toggle the

    honeycomb with the hexagon button without leaving the forecast.

  • Wind / gust / wave arrows point from the anchor (cyan / orange /
  • teal). Tap the button in the scrubber for the full colour key

    and the weather's update time.

    The forecast needs marine weather loaded — open the Meteo tab once

    if the arrows or honeycomb don't appear.

    Radar

    A live circular radar of your swing:

  • Your boat sits at the center.
  • The anchor pin holds its place (red).
  • Concentric rings show distance zones; the outer ring is your alarm
  • radius.

  • N, E, S, W mark compass directions at the rim.
  • A time display shows how long you have been anchored.
  • The radar updates continuously with GPS. It is the screen most captains

    leave on overnight — glance at it, see the boat inside the ring, sleep.

    Feedback & Support

    Open the menu button on the radar screen and choose Feedback &

    Support (also reachable from the sidebar) — everything lives on one calm

    screen, so you never lose your place:

  • Prefer email? Tap Email the crew to open a pre-addressed message
  • to support@anchorqueen.com with your app and device details already

    filled in. If your device has no mail set up, it hands off to your default

    mail handler instead.

  • Drop us a line — choose Report a problem or Share an idea,
  • add a short title and your message, and optionally attach a

    screenshot. If a screenshot can't be uploaded the app tells you and

    keeps your text so you can retry or remove it — it is never silently

    dropped.

  • Your conversations — shown at the top of the screen with a status
  • badge (Open, In progress, Resolved, or Closed). Your most

    recent thread is open by default, so the replies and the reply box are

    right there — just type and send, no tapping to expand. Replies and status

    changes appear live, and you get a notification (and a sidebar

    badge) when the team answers.

    You must be signed in to start a conversation so we can reply and keep

    your history together; you can always email us instead. Sign in from your

    captain profile.

    Remote

    Live Beacon — free for everyone

    Whenever your boat is on the water — anchored or under way — AnchorQueen

    broadcasts a live beacon with your position so others nearby can see you in

    real time. This is free on every plan and turns on automatically; the

    Live Beacon card on the Remote screen shows whether it is active.

    Your privacy setting controls what is shared:

  • Social Captain — your boat and name are visible. Other captains can see
  • you live on their chart by turning on Public Beacons in their

    Chart Layers (you appear with an amber ring).

  • Safety Only — your position is shared for safety, but your name and boat
  • details are hidden, and you do not appear on the public chart layer.

  • Ghost Mode — nothing is broadcast at all.
  • Change this any time in your captain profile. Anonymized

    beacon data also helps AnchorQueen learn which anchorages get crowded.

    When your anchor watch is armed, the beacon switches to auto-monitoring

    automatically — your boat broadcasts as a live "server" so it can be watched

    remotely, on every plan, even if you're near shore where automatic

    on-water detection is unsure. The Remote screen shows "Anchor Watch —

    Broadcasting" while this is active. Share a [channel](#remote-watch) to let a

    specific person watch.

    Channels — watch a boat or a fleet

    The Channels section lets you share a private live track or run a fleet:

  • Create Private Channel (Pro/Max) — makes a channel for your boat that
  • up to 2 people can watch. You get an invite code to share; tap the

    share button to send it. Add an optional password to lock it.

  • Create Flotilla (Pro/Max) — track a fleet together: Pro up to 10
  • vessels, Max up to 100. Everyone who joins sees every boat on one map.

  • Join by Code (free) — enter the invite code you were given (plus the
  • password if the channel has one) to start watching. Joining never requires a

    subscription — only creating a channel does.

    Once you're in a channel, the section lists every connected vessel with its

    name, captain, and a live / stale indicator. The channel's current invite

    code is shown there too — tap the rotate button (⟳) to generate a fresh

    code, which immediately stops the old one from working (handy if you over-shared

    it); people already in the channel stay connected. Tap Leave Channel to stop.

    Watching from your own second device. To leave one device on the boat (say

    an iPad) and follow it from another (your iPhone), turn on Monitor only

    (watch-only) on the watching device's Remote screen. A monitor never

    broadcasts — it just watches — so the two devices don't clash even on the same

    account. Set it on the iPhone, then join the boat's channel (or, if the boat

    is a Social Captain, just switch on Chart Layers → Public Beacons).

    Leave the toggle off on the boat device. You can also simply sign the second

    device into a different account — that works without the toggle.

    > The free [Live Beacon](#beacon) above is separate — it is always on and needs

    no channel or subscription.

    On the chart — the fleet strip

    While a channel is live, every connected boat also shows on your nautical chart,

    and a row of round device buttons floats across the top of the chart — one

    for each connected vessel or watcher:

  • Each button shows the boat's photo (or a boat icon) inside a coloured
  • status ring: teal = at anchor, indigo = under way, red = dragging, grey =

    offline. A small corner badge marks ⚓ anchored boats apart from people who

    are only watching (a phone or computer icon).

  • The badge on the left counts everyone connected and how many are anchored.
  • Tap a button and the chart flies straight to that boat's live position —
  • the quickest way to find a vessel that's off-screen.

    Show who's connected. Tap your own boat (the ringed dot at your current

    position) to draw dashed lines from you to every boat in the channel — a quick

    picture of the whole fleet you're linked to. Tap it again to hide the lines.

    Flotilla — track a whole fleet

    A flotilla is a shared channel for a group sailing together — a rally,

    charter fleet, club cruise, or regatta. Pro tracks up to 10 vessels, Max up

    to 100.

  • The organiser taps Create Flotilla, shares the invite code, and crew
  • Join by Code (free) — from the app or a link.

  • Once you're in a flotilla, the Channels card shows Open fleet board. The
  • board gives you:

  • a live map of every vessel in the fleet,
  • fleet stats — vessels, live now, at anchor, drift alerts,
  • the roster with each boat's status (under way / at anchor / dragging),
  • the trip itinerary (day-by-day plan and overnight anchorages),
  • the invite code to share, and Leave Flotilla.
  • Tap any boat — on the chart or in the roster — to open its vessel
  • card: captain and home port, live status (under way / at anchor /

    dragging), speed, course, heading, distance from you, battery, signal age,

    vessel specs (type, length, builder, year), and exact position (tap to copy).

    The card updates live as new positions arrive.

    Organisers can also manage the fleet and build the day-by-day itinerary from

    the web portal at anchorqueen.com → Flotillas. (Posting fleet updates to

    social media is coming in a later release.)

    Setting the right radius

  • Too small — normal swing with wind and tide triggers false alarms.
  • Too large — real dragging is detected late.
  • A common starting point is your deployed rode length plus 15–20 m for GPS

    drift. Tune after one full tide cycle.

    Seabed Type & Community Substrate Reporting

    Below the position read-out on the GPS tab, AnchorQueen integrates a live, offline-capable Seabed Readout Card that displays the bottom composition and anchor holding quality at your current position (or at the anchor drop coordinates once set).

    On the chart, the anchor-mark placard mirrors this. Once you drop the hook, the floating info card beside the anchor symbol adds two lines: the seabed type and holding at the drop point, and a digital depth read-out. Both resolve in the same order as the readout card:

    * Seabed: your own report for the spot first, then the charted SBDARE data, then nothing if the spot is uncharted.

    * Depth: the measured depth you logged with your report first; otherwise live water depth from EMODnet Bathymetry (in your units). The line is omitted while offline or where the service has no value.

    The card auto-positions itself on the side of the anchor away from your boat, so it never sits on top of the anchor symbol, the tether, or the vessel — it slides to the opposite side as the boat swings, keeping the busy area around the drop point readable. The lookups run off-screen and only refresh when the anchor moves — or the moment you file a report — so the chart never stutters.

    If the placard shows no seabed, or the charted type is wrong: flip the bottom command panel to its GPS page (tap the GPS indicator at the top of that panel — it auto-shows the ALARM page while the watch is armed), tap the Seabed Readout Card beneath the position read-out, and set the type / holding (and optionally the measured depth) in the picker. Your report overrides the chart everywhere it's shown, including this placard — it updates as soon as you submit, without re-dropping the anchor.

    Off-Main-Thread Spatial Queries

    To prevent UI thread layout thrashing and frame drops during map panning, the substrate engine runs entirely in a background isolate:

    * Isolate Parsing: The Seabed Query Service performs background-isolate-driven parsing of hazards.geojson (loading S-57 SBDARE seabed area polygons and precomputing bounding boxes) off the main thread.

    * Ray-Casting Lookup: Point-in-polygon queries are computed asynchronously via ray-casting.

    * Quantized Debouncing: Viewport coordinate lookups are quantized to a ~100 m grid and debounced by 150 ms to avoid query storms during panning.

    Reading the Composition & Holding Quality

    The readout card shows a waves icon, the official IHO S-57 abbreviation, the plain-language name, and a color-coded Holding Quality Chip:

    * 🟢 Good Holding: Sand (S), Mud (M), Clay (Cy), Silt (Si). Perfect for standard anchors (Delta, Rocna).

    * 🟡 Fair Holding: Gravel (G), Pebbles (P), Cobbles (Cb). Requires extra scope due to poor penetration.

    * 🟠 Poor Holding: Stone (St), Rock (R), Boulder (Bl). High risk of sliding or snagging.

    * 🔴 Do Not Anchor: Coral (Co), Weed (Wd), Shells (Sh), Unknown (Unk). Severe dragging risk or ecologically protected zones.

    Submitting a Community Observation

    If you anchor in an uncharted spot, or if your anchor brings up a substrate that differs from the chart (e.g., weed instead of sand), you can submit a community report:

  • Tap the Seabed Row to open the Seabed Type Picker bottom sheet.
  • Choose from 14 standard seabed types represented by high-fidelity material icons.
  • Set the observed holding quality (Good, Fair, Poor, Do Not Anchor).
  • Input the measured water depth (in meters or feet) and add custom notes (e.g., "thin sand over limestone, slid twice before setting").
  • Tap Submit Report.
  • Caching & Cloud Synchronization

    Your observation is managed by the Seabed Report Manager:

    * Local Caching: Saved instantly to your local device database so it shows next time you visit the coordinates (matching radius of 120 m).

    * Firestore Sync: If online, the report is securely uploaded to the global community database via a Firebase HTTPS Callable Function (submitSeabedReport).

    * Offline Support: Reports created while offline are queued locally and synchronized automatically once your cell signal returns and you are signed in.

    Try the watch without leaving the dock

    To rehearse the anchor watch — arm it, then watch it alarm as the boat

    "drags" — turn on Simulator Mode in

    Settings → Nav. It feeds the anchor watch a

    position you control, so you can drop the anchor, then nudge the throttle

    and helm on the chart console to drift the boat past the radius and hear

    the alarm fire. Turn Simulator Mode off to return to real GPS.

    The console collapses in stages — full helm → autopilot strip → a slim

    command rail — and the slim rail now has its own minimize (chevron)

    button that tucks it away to just the corner S badge, fully clearing

    the chart. Tap the S to bring the controls back.

    Instrument data source

    By default the anchor watch uses your device's built-in GPS. If your boat has

    an NMEA Wi-Fi gateway or a Bluetooth instrument pod, you can drive the watch

    from it instead — a masthead GPS is steadier than a phone below decks. Choose

    the source in the Settings → NMEA sub-tab

    (Beta): Built-in GPS, NMEA over TCP/UDP (enter the gateway host and

    port — 10110 is standard), or NMEA over Bluetooth (scan and pick your pod).

    The same screen shows live diagnostics so you can confirm position, depth, and

    wind are arriving before you rely on them.

    While an instrument source is feeding the watch, a small Instruments badge

    appears at the top of the radar screen:

  • Instruments · Live (green) — fixes are arriving from the gateway.
  • Instruments · Connecting… / Reconnecting (amber) — establishing or
  • re-establishing the link.

  • Instruments · No signal (red) — the link could not be opened.
  • If the feed goes silent for 30 seconds the watch automatically falls back to

    your device's GPS so you are never left unguarded, and a red banner tells you

    it has switched. The badge disappears once the watch is back on phone GPS. Your

    configured source is remembered and reconnects automatically the next time the

    app launches.

    Technical Details: Relocation & Filtering

    Direct-It Relocation Math

    When you drop your physical anchor, the boat is usually drifting back under wind or current. Dropping the anchor pin at the boat's GPS position after settling is incorrect because the anchor itself is actually located at the bow's position at the moment of release.

    To resolve this, AnchorQueen features Direct-It Anchor Relocation:

  • Tap the lock icon to unlock the anchor pin.
  • Enter the rode length and the compass bearing from the helm back to where the hook is set.
  • AnchorQueen uses a spherical trigonometric offset to compute the true coordinates of the anchor:
  • $$\text{Lat}{\text{anchor}} = \arcsin\left(\sin(\text{Lat}{\text{boat}}) \cos(d/R) + \cos(\text{Lat}_{\text{boat}}) \sin(d/R) \cos(\theta)\right)$$

    $$\text{Lon}{\text{anchor}} = \text{Lon}{\text{boat}} + \arctan2\left(\sin(\theta) \sin(d/R) \cos(\text{Lat}{\text{boat}}), \cos(d/R) - \sin(\text{Lat}{\text{boat}}) \sin(\text{Lat}_{\text{anchor}})\right)$$

    Where $d$ is the horizontal distance (rode length), $R$ is the Earth's radius, and $\theta$ is the true bearing.

    GPS Filtering & SMA(9) Smoothing

    GPS receivers on mobile devices are prone to multipath reflections and horizontal dilution of precision (HDOP) spikes, especially in narrow coves or next to cliffs. This can cause "GPS jumps" that trigger false alarms.

    In Settings → Advanced, you can choose between:

  • Real-Time GPS: The alarm evaluates your instantaneous GPS coordinates. Highly responsive, but prone to false-positive drift alarms due to sudden single-point inaccuracies.
  • Moving Average (SMA-9) Smoothing: The app maintains a FIFO queue of the last 9 valid GPS readings and computes their centroid:
  • $$\overline{X} = \frac{1}{9} \sum{i=1}^{9} Xi, \quad \overline{Y} = \frac{1}{9} \sum{i=1}^{9} Yi$$

    This suppresses single-frame spikes of up to 25 meters, preventing middle-of-the-night false alarms while maintaining an active response time of under 30 seconds for actual boat dragging.

    If something goes wrong

  • False alarms while properly anchored — see
  • Troubleshooting: false alarms.

  • Alarm did not fire — confirm the badge reads Armed and run Test
  • Alarm to check the sound; see

    Troubleshooting: alarm.

  • Remote will not pair — both devices must be online during pairing.