Waypoints is a full-stack geospatial travel memoir built with tools like Leaflet, Overpass API, OpenRouteService, and geojson.io. With interactive mapping, photo reels, and custom layers, this is data-driven storytelling at its most personal.
Mapping my travels turned into a masterclass in geospatial tools and memory—coordinates, mapping APIs, and long-lost places I hadn’t thought about in years. From tracing a train ride in India to redrawing a boat trip in Costa Rica, the technical work brought deep personal reflection. Rebuilding a moment from a blurry photo, rerouting old paths, rediscovering forgotten places. It was sweetly profound, nostalgic, and oddly healing. It's far from done. So is life.
I look forward to never finishing it.
Project Links
Project Overview
Waypoints maps my story across continents, from the serene beaches of the Caribbean to the vast deserts of Namibia and the vibrant streets of India. It’s a visual memoir powered by geospatial tools and narrative intent. Technically, it merges full-stack development with advanced mapping capabilities to tell a human story — my human story — through data.
Core technologies used include:
- Leaflet for interactive maps with custom markers, clustering, and polylines (e.g., hiking routes).
- Overpass API to fetch OpenStreetMap data like trails, waterways, and ferry lines.
- Nominatim for geocoding and reverse geocoding.
- OpenRouteService API for generating vehicle routes automatically.
- GeographicLib for great circle and geodesic calculations.
- geojson.io for hand-drawing and exporting custom GeoJSONs.
- GeoJSON as the foundation for spatial data representation.
The backend, built with Python, integrates data from APIs, Google Sheets, and CSV files, with Google Sheets serving as a lightweight, SQL-style data layer. The map includes custom layers for activities, travel modes, and pop-up photo galleries, delivering a mobile-responsive, engaging experience.
Waypoints is a personal archive and technical showcase—proof that data storytelling can be as emotional as it is analytical. It demonstrates my skills in geospatial data processing, API integration, and frontend experience design. It's data storytelling at the most intimate of levels, my memories.
Gallery






References
- Leaflet.js - Interactive map rendering library for creating dynamic and visually engaging maps. Learn more.
- Overpass API - Used for querying OpenStreetMap data to retrieve geographic information. Learn more.
- Nominatim - Used for geocoding and reverse geocoding to convert locations into geographic coordinates. Learn more.
- OpenRouteService API - Provides routing and geospatial analysis services for various transportation modes. Learn more.
- GeographicLib - A library for performing geographic calculations, such as geodesics and projections (e.g., great circle routes). Learn more.
- geojson.io - A web-based tool for drawing and editing custom geographic data, such as boat and ferry routes, and exporting them in GeoJSON format. Learn more.
- GeoJSON Specification - A format for encoding geographic data structures. Learn more.
- Personal Photos - All images used in this project are from my personal collection and are protected under copyright law. They may not be copied, modified, or distributed without explicit written permission. If you appear in any of the photos and would like them removed, please contact me at bryan.johns.official@gmail.com.
- Personal Memory - The narratives and waypoints are based on my personal experiences and recollections.