Proyecto destacado · Product Engineering · Full Stack
Proyecto portfolio de full-stack. Mi hermano es conductor de autobús recién titulado. Cuando planifica una ruta, Google Maps le dice por dónde ir en coche, sin saber que su vehículo mide 3,5 metros de alto, 2,5 de ancho y 12 de largo. Un puente bajo o una calle estrecha pueden convertir una ruta normal en un problema serio.
Diseñé un servicio que combina OpenRouteService, OpenStreetMap y la navegación de Google Maps/Waze para ofrecer rutas adaptadas a las dimensiones reales del vehículo. Ver capacidades técnicas →
Mi hermano acababa de sacarse el carné de autobús. Cuando le pregunté cómo planificaba las rutas, me enseñó Google Maps como todo el mundo, y me dijo una frase que lo cambió todo: "esto me lleva por sitios por donde no puedo pasar".
Los navegadores convencionales están pensados para turismos: la altura de un puente, la anchura de una calle, el peso máximo de un tramo o el largo en una rotonda no entran en sus cálculos. Esos datos existen en el mapa (los pone OpenStreetMap), pero la mayoría de navegadores de consumo no los tienen en cuenta para vehículos pesados.
Así nació Kavana BusRoad. Un proyecto personal que resuelve un problema real y muy concreto: una ruta segura para un vehículo de dimensiones conocidas, y la comparación honesta con la ruta que seguiría un coche normal.
La app no se queda en la ruta: decodifica el polyline calculado y lo convierte en puntos de paso para Google Maps y Waze, forzando al navegador a seguir exactamente el itinerario seguro en lugar de recalcular por la ruta de coche.
Calcula la ruta optimizada para el vehículo y la ruta convencional de coche con las mismas coordenadas, y muestra la diferencia de km y minutos. Si coinciden, no hay obstáculos: la app lo dice.
Backend en Python con FastAPI. Recibe origen, destino y dimensiones del vehículo, geocodifica las direcciones y calcula la ruta con restricciones. Health check público en producción.
Motor de rutas para vehículos pesados con restricciones reales de altura, anchura, largo y peso en Europa, usando los datos de OpenStreetMap. 2.000 rutas gratis al día.
Backend desplegado en un clúster Kubernetes (k3s) en el VPS, detrás de nginx con certificado TLS real de Let's Encrypt. Despliegue con Dockerfile + kubectl.
Aplicación web moderna con Vue 3 + Vite + TypeScript. Acepta direcciones completas de Google Maps, dimensiones del vehículo y muestra los pasos en español.
Direcciones completas como las pegas en Google Maps: "C. de Ing. Tamarit, 9, 46170 Villar del Arzobispo, Valencia".
Altura, anchura, largo y peso. Son las restricciones que el motor aplica a cada tramo de la ruta.
La app calcula la ruta optimizada para tu vehículo y la de coche normal, con distancia, duración y pasos en español.
Pulsa el botón para abrir Google Maps o Waze con puntos de paso que fuerzan tu ruta segura. Nada de desvíos por la ruta de coche.
Escribe un origen y un destino, pon las dimensiones de un autobús o camión, y mira la diferencia entre tu ruta y la de un coche.