Sobre SendaOne
SendaOne es un convertidor de rutas de Google Maps a archivos GPX para uso en dispositivos GPS de consumo. La misión es simple, y la escribimos al principio para no perderla de vista: GPX confiable para gente en zona remota mundial. No rutas óptimas. No rutas más rápidas. Rutas exactamente como las muestra Google Maps en el momento de la conversión, descargadas en un archivo estándar que cualquier Garmin, Wahoo, COROS o Suunto del mercado entiende.
Origen
SendaOne nace en Bogotá, Colombia, construido y mantenido por Sergio Marroquín Cabrera. La motivación inicial fue práctica: Strava y Garmin Connect tienen un routing horrible para ciudad, especialmente fuera de Europa y Norteamérica. En LatAm, África, Sudeste Asiático, muchas ciclorrutas, vías residenciales y trochas no están en sus mapas. Google Maps sí las tiene, y planificar una salida es trivial — el problema era convertir esa ruta a un archivo apto para el ciclo-computador.
Esa fricción la resuelve SendaOne en un paso: pegas el link de Google Maps, eliges formato, descargas. Sin cuenta, sin instalar nada, sin compromiso con cuotas pagas.
Filosofía
Tres principios orientan cada decisión técnica:
- Espejo, no recálculo. SendaOne refleja la ruta que Google Maps mostraría al usuario. No recalcula con un motor alternativo. Si Google muestra una ciclorruta, SendaOne la incluye; si Google indica una vía cerrada, SendaOne no la inventa. Respetar el modo de transporte original (`dirflg`) y las paradas intermedias que el usuario haya colocado es parte de esta promesa.
- Privacidad por defecto. No cuentas, no cookies de tracking, no fingerprinting. La URL del request se procesa en memoria y se descarta al terminar; la IP se mantiene solo en RAM durante la ventana de rate limit. Analítica opcional, anónima y visible en el footer cuando está activa.
- Transparencia operacional. El código es propietario, pero el endpoint /health publica el estado real del daemon de persistencia. Los contadores agregados se persisten en un archivo público de GitHub. La precisión de los archivos GPX está documentada explícitamente en /docs/precision. Si SendaOne no es apto para un caso de uso, lo decimos antes que después.
Tecnología
SendaOne funciona con la Google Maps Routes API v2 (motor idéntico al de la app móvil) en modo TRAFFIC_AWARE_OPTIMAL con polyline HIGH_QUALITY. Las elevaciones se obtienen de la Google Elevation API; opcionalmente puede caer a Open-Elevation o SRTM si el operador lo configura. El backend corre en FastAPI sobre Python 3.11, desplegado en Fly.io (región Ashburn IAD), detrás de Cloudflare con SSL Full Strict y Cache Rule para HTML estático.
Toda la conversión ocurre server-side. El navegador del usuario solo recibe el archivo binario o XML final. No hay JS de tracking ni de terceros analíticos por defecto. La interfaz se sirve estática (HTML + CSS + JS mínimo) y honra `prefers-color-scheme` para modo oscuro automático.
Filosofía de datos abiertos
Las rutas que SendaOne genera son de propiedad del usuario que las solicitó (ver /terms). No las almacenamos después de servirlas. Los contadores agregados de uso son públicos en un archivo de GitHub — cualquiera puede ver cuántas conversiones se han hecho y en qué formato. Esta transparencia es deliberada: si el servicio crece a un punto en que requiere monetización, queremos que sea por necesidad operacional, no por explotación de datos acumulados.
Licencias de terceros
SendaOne es software propietario, pero se apoya en componentes de código abierto que reconocemos con gratitud: FastAPI, Uvicorn, Pydantic, httpx, Jinja2, Loguru, Tenacity, defusedxml, slowapi, lxml, segno, cryptography, tzfpy, reportlab (hoja de ruta PDF) y openpyxl (hoja de ruta Excel), entre otros — con licencias MIT, BSD, Apache-2.0 y PSF. En el navegador: uPlot 1.6.32 (MIT) para el perfil de elevación.
Datos: la ruta y las imágenes de mapa provienen de
Google Maps Platform (atribuidas como «Map data
©Google» en la interfaz y en cada archivo generado); la elevación
opcional Copernicus GLO-30 es del programa Copernicus de la Unión
Europea/ESA; el modelo geoidal EGM96 es de la NGA (dominio público); los
datos meteorológicos del análisis de viabilidad son de Open-Meteo
(CC BY 4.0). El inventario completo vive en el archivo
NOTICE.md del repositorio.
Operador
Sergio Marroquín Cabrera. Bogotá, Colombia. Profesional con formación técnica, ciclista urbano y de montaña, ocasional senderista. SendaOne es un proyecto personal, no respaldado por ninguna corporación ni inversionista. El operador asume todos los costos de infraestructura y mantenimiento del servicio gratuito.