Tern

Tern · project

Dive Map

Knowledge management for divers. Charts for planning the dive and reviewing the track — with the measuring tools, list of wrecks, and status of lines all in the same place.

Live

Running now, in front of real dives.

Running now. No account needed to open the map.

The Dive Map chart view

The old way

Copy coordinates from one map to something with better bathymetry

The map with the wrecks didn't have any measurement capability, and bathymetry was mediocre. So every dive plan meant lifting a lat/lon out of one tool and pasting it into Google Maps to look for a better beach entry, or Navionics to look at the bathymetry. And nobody knows the status of the line.

Dive Map

Everything in one place

Click two points and read true bearing and range in metres, over the same chart you’re planning on. Paste a lat, lon to drop a marker, or copy one back out in the format everything else expects. Inspect the depth and the bathymetry on your planned route. Overlay a street map so you can see what the beach entry will look like. All in one place.

What’s on the map

Real chart data, layered properly.

Not a pin dropped on a road map. If NOAA publishes it, the goal is that Dive Map can show it as what it actually is — a contour, a sounding, a surveyed depth grid — with each layer on its own toggle.

Clean geo layering

Nothing is tied to Google Maps any more. MapLibre draws the whole stack, so overlays composite against the chart in the right order instead of floating on top of tiles that don’t know they’re underneath anything.

The layer panel beside a chart view — wrecks, NOAA bathymetry at 85 per cent and charts each on their own toggle, with the tiles in view named

ENC charts

Electronic Navigational Charts imported feature by feature: bathymetry contours and their depth labels, soundings, charted wrecks, underwater rocks and obstructions, buoys and beacons, seabed type, pipelines and cables, and regulatory areas.

The detail panel for the charted wreck Foss 75, showing depth, category, coordinates and its survey credit

Survey bathymetry

NOAA BAG and A93 surveys ingested as depth-shaded rasters — including variable-resolution BAG, down to 1 m where the survey carries that detail. Real bottom shape, not an interpolated guess between contours. Unless there's demand for it, the cost of running 0.25 m data isn't worth it. Feel free to let me know if you'd like to see that here.

Two wrecks standing out of a depth-shaded survey raster, joined by a measurement line, with the Measure panel reading bearing, range and run time

Wrecks & targets

Categorised, to make it easier to find what you're looking for

Every wreck carries a category, and the layer panel filters on it. Looking for aircraft means seeing aircraft — not scrolling past every barge and debris field in the lake. Unknown is a real, first-class category rather than a data-entry failure: plenty of what’s down there hasn’t been identified yet, and saying so is more useful than guessing.

  • Unknown
  • Ship
  • Small Craft
  • Aircraft
  • Barge
  • Burnt Hulk
  • Artificial Reef
  • Debris

Contributing

Found something? Fix the record.

This is the core capability: together we know more than any one of us, and the map is the knowledge management space. The map gets better by being dived. Anything a diver learns in the water should be a short form away from being on the chart — and the record gives credit to who found what.

  1. 01

    Add what you found

    Drop a new wreck at a position with a name, depth, category and a circle of uncertainty that says honestly how well you know where it is.

  2. 02

    Correct what’s there

    “I explored this — it’s actually a barge, and here are pictures.” Propose a change to any field: category, position, depth, orientation, description. The old value stays visible in review, so a correction is a decision and a tracked change, not a silent overwrite.

  3. 03

    Attach the media

    Link the video, the photos, the photogrammetry model. The wreck page becomes the place those live instead of a link buried in a forum thread from 2014.

  4. 04

    Reviewed, then published

    Submissions queue for review before they reach the public map. Approved ones keep their discovery credit, so the map shows who put the site on it.

Credit is part of the data model, not an afterthought. Wrecks carry a discovery credit that shows on the site itself — Coastal Sensing obviously has the high res sidescan work, but many of the rest of us are out finding wrecks routinely. If your exploration is on this map, the map should say so.

Lines

One place that knows where the lines go.

Lines run from known points out to wrecks, and they change: they get rebuilt, they break at a depth, they disappear entirely. That knowledge normally lives in somebody’s head or a group chat. There’s no central place to report that you ran a line, or that you went to run a line and found it was destroyed.

Drawn, not described

Line geometry is drawn on the chart vertex by vertex and can be edited later, so “the line from the point” is an actual path you can measure against.

Current condition

Each line carries its construction type and current state — intact, broken, gone — with notes for where the break is and what to look for.

Dated history

Reports stack newest-first rather than overwriting. A line that was fine in June and broken in August tells you something a single status field can’t.

Accounts

Open by default, gated where it needs to be.

The public map opens without an account. Signing in is what lets you submit wrecks, corrections, media and line reports, and it’s what unlocks the overlays and detail fields that aren’t mine to hand to anonymous traffic. Tiers separate a signed-up visitor from a diver from a tech diver, so access can follow the dive rather than the click. For now, since it’s only been announced to a limited number of divers, every new registrant is automatically promoted to diver -- this can be changed on a moment’s notice.

Creating an account means agreeing to the Terms of Use and Privacy Policy — worth reading before you sign up, since the short version is that what you contribute gets shared with other divers by design.

What the app does, in one table.
Charts Full NOAA ENC import — bathymetry contours and depth labels, soundings, charted wrecks, rocks and obstructions, buoys and beacons, seabed type, pipelines and cables, regulatory areas. Each is its own toggle.
Bathymetry NOAA BAG and A93 surveys ingested as rasters, including variable-resolution BAG down to 0.25 m where the survey supports it. Rendered as depth-shaded imagery you can sample.
Base layers Street and satellite, switchable. MapLibre renders the whole stack, so overlays composite against the chart instead of floating over someone else’s tiles.
Wrecks Name, position, depth, category, circle of uncertainty, description, discovery credit and linked media. Filterable by category; searchable by name.
Lines Guide-line geometry drawn on the map, with construction type, current condition and a dated report history per line.
Measurement Two-point measure giving true bearing and range in metres. Paste lat, lon to drop a marker; copy any point back out in the same format.
Contribution In-app proposals for new wrecks, corrections to existing ones, and media links — each queued for review before it reaches the public map.
Accounts Optional. The public map works signed out; an account unlocks submissions and the gated overlays.

Roadmap

Where this is going.

Directional, not promised. The further right, the more likely it changes.

Now

Actively being built or tested

  • Diver-friendly knowledge management - wrecks, lines, bathyemtry, all in one place.
  • All of the back end for DPV-Nav and BMS Datalogger
  • Correction-report diagnostics surfaced in the dive inbox UI

Next

Committed, not started

  • More detailed feedback from dive navigation to improve known landmarks and future navigation

Later

Directional, may change

  • Improved photogrammetry model viewer, embeds alongside linked media
  • Detailed bathymetry and navigation information from wreck tracks, anonymized from DPV-Nav runs

Open problem. How much position precision to show a signed-out visitor. Some wreck positions are not mine to publish at full resolution, and a coarse public number is only honest if the map says plainly that it is coarse.

Open it

The map is live.

Dive Map is a running app rather than something you build — there’s nothing to flash, print or solder. Open it, pan to water you care about, and turn on the layers you want.

Coverage is deepest where I dive. Empty water is missing data, not absence of wrecks.

Licensing

How you may use it.

To be designated — differs from the hardware projects

Dive Map is a hosted service, not a download, so the hardware projects’ build-it-yourself terms don’t map onto it cleanly. Chart data stays under NOAA’s terms; diver-submitted wrecks, media links and line reports stay credited to the divers who submitted them. The server-side licence is still to be designated.

This is not a navigational chart.

Dive Map is a planning and record-keeping tool built by a diver. It is not an official chart, it is not corrected by Notices to Mariners, and it must not be used for surface navigation. NOAA publishes the authoritative versions of every chart layer shown here — use those to navigate a vessel.

Everything underwater is different than you might expect, even if you have a Really Cool Map. Wrecks may or may not still be there, the bathymetry may be all wrong, someone may have dropped a gill net in your path, who knows. Diver-submitted data is exactly that: submitted by divers, just fallible humans like you and me. We’re all doing our best, but sometimes our best is plain wrong. Verify anything you plan to rely on underwater. Read the full safety position →