FastNet
CASO 02 · TRAUSTAR LOGISTICS

Operaciones 24/7 no aceptan downtime. Ni el equipo, ni el sistema.

Traustar coordina flotas de transporte y cadena logística. El sistema corre todos los días, todas las horas, sin pausa. Cualquier minuto de caída tiene un costo medible en pesos y en confianza del cliente.

Traustar necesitaba la columna vertebral de una operación 24/7.

PROVISIONAL

Traustar opera flota de [N] vehículos coordinando rutas, asignaciones de carga, telemetría de combustible, y notificaciones a clientes en tiempo real. Cada cambio de ruta, cada incidencia en carretera, cada hora de descanso de un conductor — todo se sincroniza con el sistema central. Si el sistema cae, los vehículos no paran, pero los clientes pierden visibilidad y los coordinadores trabajan a ciegas.

Cuando llegamos, el sistema previo tenía visibilidad pero no escala: cada vez que se sumaba una flota nueva, había que duplicar parte del backend manualmente. La operación había crecido más rápido que la arquitectura que la sostenía.

Lo que entendimos en discovery.

PROVISIONAL

Pasamos las primeras tres semanas en operaciones — no en oficina, en operaciones. Subidos a vehículos cuando se podía, viendo el dashboard del coordinador en vivo, escuchando llamadas con clientes que pedían ETAs.

Lo que descubrimos: el problema no era performance del sistema. Era que el modelo de datos asumía que la flota era fija, y la realidad era que la flota se reconfiguraba semanalmente. Cualquier optimización sobre el modelo viejo iba a ser temporal.

Arquitectura final.

Backend principal

NestJS sobre PostgreSQL con sharding por región. La operación está dividida regionalmente — el sistema también.

Telemetría en tiempo real

Ingestión de datos de vehículos vía MQTT, procesamiento en Cloudflare Workers, persistencia diferida en Postgres + tabla histórica en R2.

Sistema de ruteo

Integración con motor de optimización (OR-tools) para recálculo de rutas en tiempo real cuando hay incidencias.

Frontend operaciones

Next.js con dashboard en tiempo real para coordinadores. Mapas con Mapbox. Updates push vía WebSockets.

App mobile conductores

React Native con sincronización offline-first. Los vehículos pierden señal en zonas rurales — el sistema sigue funcionando localmente.

Stack completo

NestJS, PostgreSQL, Redis, MQTT, Cloudflare Workers, R2, React Native, Mapbox.

→ DIAGRAMA · BLUEPRINT
FLOTA · 350EDGEBACKBONECONSUMIDORESVEHÍCULO 01VEHÍCULO 02VEHÍCULO 03VEHÍCULO NMQTTCF WORKERSBACKENDNESTJS · SHARDEDPOSTGRESREGIONALR2 ARCHIVEHISTÓRICODASHBOARDWEBAPPCONDUCTORoffline-syncingestpersistarchiveWSRESTp95 < 120ms · UPTIME 99.99%

Métricas en producción.

PROVISIONAL

Reemplazar con métricas reales verificables antes de publicar.

VEHÍCULOS SINCRONIZADOS
350
P95 LATENCY TELEMETRÍA
<120ms
TIEMPO DE DESPLIEGUE
12 min
UPTIME · 12 MESES
99.99%
CITA DEL STAKEHOLDERPROVISIONAL
Migrar a FastNet redujo nuestro tiempo de despliegue de horas a minutos. Pero más importante: cuando algo se rompe, ya no es lotería ver quién entiende qué.
Traustar Logistics · Casos · FastNet