Odyssey Expeditions

Heading

Navigation Instruments

What this app does

🧭Compass & heading — Real-time tilt-compensated magnetic heading with true-north correction using your local magnetic variation.
📍GPS + altitude + speed — Live position, elevation in feet, and speed in knots from your device GPS.
🗺️Projected track intersections — Shows what coastlines, landmasses, and bodies of water lie along your current heading, with names and distances.

Tips for best results

📱Works at most angles — The compass is stable whether held flat on a table, tilted, or at steep angles up to about 80°. The tilt bubble shows left-right roll; keep it centered for the most accurate heading.
⚠️Avoid nearly vertical (80–100°) — When the phone is held upright facing you — like reading in a chair — the heading becomes unreliable. Tilt it forward or back slightly to move out of this zone.
🔒Tap the heading number to lock — When locked, the app follows that bearing's great circle all the way around the world back to you, lists every coastline crossing, and lets you tap each one for detailed political info.
💾Map data loads by itself — The first time, Heading downloads its coastlines and country and sea outlines (about 16 MB) and keeps them on your device, so it works offline at sea.
Odyssey Expeditions
SPD
---
KTS
ALT
---
FT
⊙ HEADING LOCKED · TAP TO UNLOCK
MAG
---°
GPS TRK
---°
MAG GPS
MAG CALIBRATION OFFSET
+0°
---
▼
---
MANUAL HEADING: 000°
PITCH --°
GPS acquiring…
VAR awaiting GPS…
MAG
TRUE
MANUAL TRACK BEARING
000°
drag slider or use buttons · LOCK names every crossing around the world
hold steady to compute projected track…
INTERSECTION 3▼ TAP FOR DETAIL
INTERSECTION 4▼ TAP FOR DETAIL
INTERSECTION 5▼ TAP FOR DETAIL
INTERSECTION 6▼ TAP FOR DETAIL
INTERSECTION 7▼ TAP FOR DETAIL
INTERSECTION 8▼ TAP FOR DETAIL
INTERSECTION 9▼ TAP FOR DETAIL
INTERSECTION 10▼ TAP FOR DETAIL
INTERSECTION 11▼ TAP FOR DETAIL
INTERSECTION 12▼ TAP FOR DETAIL
INTERSECTION 13▼ TAP FOR DETAIL
INTERSECTION 14▼ TAP FOR DETAIL
INTERSECTION 15▼ TAP FOR DETAIL
INTERSECTION 16▼ TAP FOR DETAIL
INTERSECTION 17▼ TAP FOR DETAIL
INTERSECTION 18▼ TAP FOR DETAIL
INTERSECTION 19▼ TAP FOR DETAIL
INTERSECTION 20▼ TAP FOR DETAIL
COASTLINE MAP no coastline data
tap map to set position · drag marker to adjust
COASTLINE DATA
Downloaded once from heading.odd.place (about 11 MB) and kept on this device, so it works offline.
waiting…
RANGE FULL NM
COUNTRY & SEA NAMES · waiting…
Natural Earth outlines, downloaded with the coastlines and kept on this device for instant offline names.
ISLAND NAMES · awaiting GPS fix
Named island polygons fetched automatically from OpenStreetMap once a GPS fix is obtained. Covers all named islands within 100 nm of your position. Cached locally for 7 days.
WAITING --- 30 Hz
Help & About
How to Use This App

This is a real-time navigation compass that shows your magnetic heading, GPS position, altitude, speed, and what land or water lies along your projected course.

📱Works at most angles — The compass is stable held flat on a table, tilted, or at steep pitch angles up to about 80°. The tilt bubble shows left-right roll; keep it centered and green for the most accurate heading.
⚠️Avoid the 80–100° vertical zone — When the phone is held nearly upright facing you (like reading in a chair), heading accuracy degrades. This is a hardware sensor limitation at that pitch angle. Tilting slightly forward or backward out of this zone restores accuracy. The PITCH readout shows your angle.
🔄MAG / TRUE toggle — The slider next to VAR switches between magnetic north (default) and true north. True north requires a GPS fix to compute local magnetic variation automatically.
Heading Lock

Tap the large heading number in the center of the screen to lock that bearing. The number turns gold and a lock badge appears.

🔒While locked, the compass tape continues to show your live heading, but geo lookups are frozen to the locked bearing — giving a stable result.
📋Locked mode follows the great circle all the way around the world, east or west across the date line and over the poles, back to where you are, and lists every coastline crossing (up to 400). Tap any intersection box to expand it and see full political detail: country, state, city, and the water body or land name on both sides of the crossing.
🔓Tap the heading number again to unlock and return to normal live tracking.
Coastline Intersection Map

The map at the bottom of the page shows a live bearing line from your position to the first (and further) coastline crossings.

💾Map data loads by itself — The first visit downloads the coastlines (geo-maps, 10 m) and the Natural Earth country and sea outlines from heading.odd.place, about 16 MB in all. They stay on your device and load instantly after that, even offline. REDOWNLOAD in the map controls fetches them again.
🎯Without coastline data, the app uses OpenStreetMap sampling to estimate intersections — slower and less precise. With data loaded, intersections are computed locally and instantly.
📏Use the Range slider in the map controls to set how far (in nautical miles) to search for coastline crossings. All the way right, FULL, is the whole circle, about 21,600 nm.
🗺️Tap any colored dot on the map to see intersection info. Each dot is color-coded IX1, IX2… matching the intersection boxes.
Permissions

The app requests motion & orientation (for the compass) and location (for GPS). Your position isn’t stored or shared. To name places, Heading asks OpenStreetMap and BigDataCloud about points along your bearing, and OpenStreetMap for the islands around you. You can revoke access anytime in your browser settings.

Display Theme

Choose a color theme for the instrument and map. Your preference is saved automatically.

DARK
NAUTICAL
DAYLIGHT
SONAR
Sharing

Share… (top left, or above) makes a link with a picture. If you have a GPS fix and a bearing, Heading first asks whether to include them: a bearing share shows your position, the bearing and the first landfall, and its link opens Heading set to that bearing. Or share Heading without a position.

Credits

Magnetic variation from the World Magnetic Model (NOAA NCEI and the British Geological Survey). Coastlines from geo-maps, made from OpenStreetMap data (ODbL). Country and sea names from Natural Earth. Island names from OpenStreetMap contributors via the Overpass API, and place names from Nominatim and BigDataCloud. Maps by CARTO and OpenStreetMap; drawn with Leaflet, Turf and RBush.

Made by Jason Buchheim for odd.place.

Share your bearing?

Your bearing is . Sharing it shows that position, rounded to about 100 m, to anyone with the link.

Share

The picture people will see when you share
Post
Save

Each share gets its own page at heading.odd.place/s/… with this picture as its link preview and a button that opens the app with your settings.

REC 0:00