Mapa público de rutas con la posición de las unidades en vivo, para que el pasajero sepa cuándo pasa su camión.
Cliente
Urbabus — transporte urbano en Nuevo Laredo
Tipo
Plataforma web y rastreo de flota
Estado
En producción
Rol de Vertex
Desarrollo y operación de la plataforma
El reto
El pasajero no tenía forma de saber cuándo iba a pasar su camión: esperaba en la parada sin información. Del lado del operador tampoco había visibilidad de la flota, así que no se podía responder un reclamo ni verificar si una unidad estaba realmente en ruta.
Qué construimos
Mapa público de rutas con la posición de cada unidad en vivo, abierto a cualquier pasajero desde el navegador.
Backend de sincronización GPS que funciona como único consumidor de los proveedores, en lugar de que cada visitante consulte por su cuenta.
Indicador de conexión de cuatro estados que distingue si el equipo transmitió de si el equipo realmente supo dónde estaba.
Integración con dos proveedores GPS, Traccar y Flespi, sobre equipos ST-906L con SIM Telcel.
Panel interno de unidades y rutas para el operador.
Antes
Después
Antes, cada navegador consultaba a los proveedores GPS por su cuenta y hacía una petición por unidad. Ahora el backend es el único consumidor y el mapa recibe todo en una sola respuesta.El indicador separa dos cosas que antes se confundían: que el equipo haya transmitido y que el equipo haya sabido dónde estaba. Un equipo sin señal satelital ya no se reporta como si estuviera bien.
Resultados medidos
De 65 minutos a 30 segundos entre reportes
El equipo de una unidad reportaba cada 65.5 minutos en promedio. Se diagnosticó el modo de suspensión del dispositivo con una medición A/B en producción y, una vez corregido, pasó a reportar cada 30 segundos.
La carga dejó de crecer con la audiencia
El mapa hacía una petición por unidad desde cada navegador. Se reemplazó por una sola petición agrupada al backend, así que la carga ya no aumenta con la cantidad de personas mirando el mapa.
Velocidad corregida
La API entregaba la velocidad en nudos y el mapa la mostraba con la etiqueta km/h. Se corrigió la conversión en ambos extremos.
Caída de 8 h 34 min documentada y cerrada
Se realizó el análisis posterior de una caída del servicio: agotamiento de memoria de la máquina virtual de Java en una instancia de 1 GB sin espacio de intercambio. Se corrigió el dimensionamiento y se agregó monitoreo para detectarlo antes.
El equipo entraba en modo de suspensión y dejaba de reportar. Una vez corregido, el intervalo entre reportes cayó dos órdenes de magnitud.
Stack técnico
TypeScript
Node.js
Express
Prisma
PostgreSQL
Render
Google Cloud
Docker
Traccar
Flespi
Leaflet
El sistema en operación
Ruta TEC en el sitio público: el trazo con sus paradas numeradas, la distancia y el tiempo de cada tramo, y el panel de unidades activas donde cada proveedor GPS reporta su propio estado de conexión.
Contacto
¿Tiene una operación parecida?
Si su empresa enfrenta un problema similar, cuéntenos. La primera conversación es para entender su operación, no para venderle nada.