Nautilus Tracker

A full-stack geospatial tracking application that visualizes GPS movement data over time. It allows users to explore journeys on an interactive map with custom filters for year or date ranges.

Problem:

I wanted a way to visualize and analyze GPS data from my camper trips across Europe. Most existing tools were bloated, hard to self-host, or lacked control over how data was displayed. I needed a lightweight, privacy-respecting solution that I could host myself and customize.

Solution:

Built a custom solution from the ground up: a web-based application where users can import GPS logs as CSV, and explore those as map-based tracks. Tracks are filtered by date, rendered as GeoJSON LineStrings, and shown directly on a Leaflet-powered map; making it easy to view specific routes and trip segments.

Development:

This was a solo project. I designed and developed both the frontend and backend. I focused on modularity, data integrity, and keeping the tech stack simple and maintainable. Some of the challenges included:

  • Converting raw CSV logs into GeoJSON format reliably.
  • Efficiently filtering and serving track data by date range.
  • Keeping the frontend responsive and intuitive, even with a lot of data on screen.

Tech:

  • Frontend: Next.js, Leaflet, Tailwind CSS
  • Backend: PHP REST API, MySQL
  • Formats: CSV (import), GeoJSON (API output)
  • Deployment: Custom config using .env files for environment variables, secure handling of credentials.