Organic Maps - Personal Data
The theme for day four of the #30DayMapChallenge is Data challenge: My Data. I don't have a lot of personal data that I want to share - so for this challenge I decided to tell you about how I track my daily 10,000 steps.
I don't want to share my location data with private companies like Google, Apple or Fitbit. I therefore use Organic Maps to record my daily walks and my own GPX Track Viewer to view the GPX tracks saved by Organic Maps.
Organic Maps is an open-source, privacy-focused offline maps and GPS app designed for travelers, hikers, and cyclists who want detailed, reliable navigation without ads - or surveillance. Because it runs on OpenStreetMap (OSM) data, it tends to include public footpaths and bike routes that commercial maps often ignore. The app also includes contour lines, elevation profiles and hiking trails, giving outdoor users much of the information they need.
Importantly for me Organic Maps also allows you to import and export GPX tracks. This means I can prepare a route before a hike and then add the track to Organic Maps. For example on Thursday I'm walking from Epping in East London to Harlow in Essex. I've already traced out the public-footpath route on gpx studio and loaded the track into Organic Maps.
Using Organic Maps I can then record my walk and download it as a GPX track. I can then use gpx studio to view that walk. However gpx studio is missing a couple of features that I want (namely estimated steps and estimated calories burnt) so I decided to build my own personal GPX Track Viewer.
You can also use GPX Track Viewer to explore your gpx files. My GPX Track Viewer visualizes your route as an interactive map line with mile markers. It also computes route statistics (distance, speed, elevation gain), and plots a detailed elevation profile chart with optional full-screen view - all directly from your GPX file, privately and offline.
🗺️ How it Works
- The app uses MapLibre GL to render a slippy map
 - When a user uploads a .gpx file, it’s first converted to GeoJSON
 - Turf.js is then used for spatial calculations - measuring total route length, computing distances between track points, generating mile markers, and defining the map’s bounding box
 - The processed GeoJSON route is drawn as a bright orange line (#ff6600) on the map for clear visibility.
 - Mile markers (numbered orange circles) are placed along the route every mile, positioned precisely using Turf.js distance calculations.
 - Simultaneously, Chart.js prepares for the next visualization step by mapping the route’s elevation data against distance, enabling the elevation profile chart shown below the map
 



Comments