SendaOne v0.17.153

About SendaOne

SendaOne is a Google Maps to GPX converter for use on consumer GPS devices. The mission is simple, and we write it up front to keep it in sight: trustworthy GPX for people in remote zones worldwide. Not optimal routes. Not fastest routes. Routes exactly as Google Maps shows them at the moment of conversion, downloaded in a standard file that any Garmin, Wahoo, COROS or Suunto on the market understands.

Origin

SendaOne is built and maintained from Bogota, Colombia, by Sergio Marroquin Cabrera. The initial motivation was practical: Strava and Garmin Connect have horrible city routing, especially outside Europe and North America. In LatAm, Africa, Southeast Asia, many cycle paths, residential streets and trails are missing from their maps. Google Maps has them, and planning a ride is trivial — the problem was converting that route into a file suitable for a bike computer.

SendaOne fixes that friction in one step: paste the Google Maps link, choose a format, download. No account, no install, no commitment to paid quotas.

Philosophy

Three principles drive every technical decision:

Technology

SendaOne runs on the Google Maps Routes API v2 (identical engine to the mobile app) in TRAFFIC_AWARE_OPTIMAL mode with HIGH_QUALITY polyline. Elevations come from Google Elevation API; optionally it can fall back to Open-Elevation or SRTM if the operator configures so. The backend runs on FastAPI over Python 3.11, deployed on Fly.io (Ashburn IAD region), behind Cloudflare with SSL Full Strict and a Cache Rule for static HTML.

All conversion happens server-side. The user's browser only receives the final binary or XML file. There is no tracking JS or third-party analytics by default. The interface is served static (HTML + CSS + minimal JS) and honors `prefers-color-scheme` for automatic dark mode.

Open-data philosophy

Routes that SendaOne generates belong to the user who requested them (see /terms). We do not store them after serving. Aggregate usage counters are public in a GitHub file — anyone can see how many conversions have been done and in what format. This transparency is deliberate: if the service grows to a point that requires monetization, we want it to be from operational necessity, not exploitation of accumulated data.

Third-party licenses

SendaOne is proprietary software, but it stands on open-source components we gratefully acknowledge: FastAPI, Uvicorn, Pydantic, httpx, Jinja2, Loguru, Tenacity, defusedxml, slowapi, lxml, segno, cryptography, tzfpy, reportlab (PDF route sheet) and openpyxl (Excel route sheet), among others — under MIT, BSD, Apache-2.0 and PSF licenses. In the browser: uPlot 1.6.32 (MIT) for the elevation profile.

Data: the route and the map imagery come from Google Maps Platform (attributed as “Map data ©Google” in the interface and in every generated file); the optional Copernicus GLO-30 elevation comes from the European Union/ESA Copernicus programme; the EGM96 geoid model is from the NGA (public domain); weather data for the feasibility analysis comes from Open-Meteo (CC BY 4.0). The full inventory lives in the repository's NOTICE.md file.

Operator

Sergio Marroquin Cabrera. Bogota, Colombia. Technically trained professional, urban and mountain cyclist, occasional hiker. SendaOne is a personal project, not backed by any corporation or investor. The operator covers all infrastructure and maintenance costs for the free service.

Source and issues: github.com/smarroquinc10/maps-to-gpx · Contact · Versión en español