GPX Converter: routes to tracks
GPS navigation has a dirty secret: the two file types that power every outdoor adventure routes and tracks behave completely differently on your device. A route is a set of waypoints where your Garmin calculates the path between points. A track is a dense recording of an actual path, displayed as a fixed line. The difference matters because many GPS devices render routes incorrectly or recalculate them mid-ride, sending you down highways when you planned backroads. A track displays exactly as intended, every time.
The problem is that most route planning tools like Google Maps and Gaia export in route format. Converting between them previously required desktop software, sketchy web tools, or technical knowledge most riders don’t have. There was no clean, native iOS solution — so I built one.
GPX Converter: Route to Track does exactly what the name promises, but the execution is what makes it work. Rather than a simple one-to-one waypoint conversion, the app uses the Ramer-Douglas-Peucker algorithm to intelligently simplify tracks. This produces cleaner files that preserve the actual shape of your route without unnecessary complexity. Users get three simplification levels— High Detail, Balanced, Simplified — that provide meaningful control without requiring them to understand the underlying math.
Built entirely in Swift and SwiftUI with minimal dependencies, the app includes a custom SAX-based XML parser for GPX files that handles edge cases like malformed files, namespace variations, and mixed content gracefully. The RDP simplification algorithm is implemented from scratch, and iCloud Drive integration includes intelligent polling for files that haven’t been downloaded yet.
The motivation was personal. Planning backroad routes on my KTM 890R Adventure means spending hours finding the good roads, then fighting with file formats to get them onto the GPS in a form that actually works. Sometimes you build the tool you wish existed.

