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:
- Mirror, not recompute. SendaOne mirrors the route Google Maps would show the user. It does not recompute with an alternative engine. If Google shows a cycle path, SendaOne includes it; if Google marks a road closed, SendaOne does not invent it. Respecting the original transport mode (`dirflg`) and the intermediate stops the user placed is part of this promise.
- Privacy by default. No accounts, no tracking cookies, no fingerprinting. The request URL is processed in memory and discarded on completion; the IP stays in RAM only during the rate-limit window. Analytics are optional, anonymous and visibly disclosed in the footer when active.
- Operational transparency. The code is proprietary, but the /health endpoint publishes the real state of the persistence daemon. Aggregate counters are persisted to a public GitHub file. The precision of the GPX files is explicitly documented at /docs/precision. If SendaOne is not fit for a use case, we say it up front rather than afterward.
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.