Saltar al contenido

Expediente 03 · Operaciones

TRANSMERALDA × COTRANSMEQ

Una plataforma de transporte adaptada a dos operadoras sin perder su identidad operacional.

  • SvelteKit
  • TypeScript
  • Fastify
  • Prisma
  • PostgreSQL
  • Expo

El reto

Dos operadoras de transporte compartían los mismos problemas difíciles —flota, conductores, servicios, asistencia, apoyo a nómina y evidencia normativa—, pero cada una tenía su propia marca, usuarios y reglas. Copiar funciones entre productos separados habría creado divergencias rápidamente.

Presentación pública de Transmeralda con el flujo de transporte
Presentación pública renderizada en local; Cotransmeq comparte la arquitectura con identidad propia.

Expediente 03 · Operaciones

Pantallas de las apps

App de conductores Transmeralda

App Transmeralda · formularios asignados
App Transmeralda · servicios asignados
App Transmeralda · detalle de ruta
App Transmeralda · navegación del recorrido
App Transmeralda · formulario por etapas
App Transmeralda · días laborados

App de conductores Cotransmeq

App Cotransmeq · formularios asignados
App Cotransmeq · servicios asignados
App Cotransmeq · detalle de ruta
App Cotransmeq · navegación del recorrido
App Cotransmeq · formulario por etapas
App Cotransmeq · días laborados

El enfoque

Evolucioné una arquitectura compartida en SvelteKit y Fastify, separando los flujos reutilizables de la configuración y el despliegue de cada operadora. PostgreSQL y Prisma sostienen el modelo, mientras una app para conductores en Expo y React Native usa cachés SQLite y una outbox de sincronización para mantener servicios, formularios y días laborados disponibles en carretera.

Decisiones clave

  1. Compartir el núcleo operativo y aislar marca, despliegue y reglas particulares de cada operadora.
  2. Llevar el recorrido del conductor a una app Expo con cachés SQLite y una outbox pensada para conectividad intermitente.
  3. Generar hojas de cálculo y documentos regulados desde datos estructurados en lugar de plantillas manuales.

Arquitectura técnica

Arquitectura full stack diseñada y construida de punta a punta por mí.

  1. 01 Campo y oficina SvelteKit · Expo · React Native

    Espacio administrativo y app nativa para rutas, formularios y evidencias.

  2. 02 API operativa Fastify

    Reglas de transporte compartidas y aisladas de la identidad de cada operadora.

  3. 03 Modelo de transporte Prisma · PostgreSQL

    Registros de servicios, flota, personas, seguridad y cumplimiento.

  4. 04 Herramientas operativas SQLite · Mapbox · Socket.IO · Univer · PDF

    Outbox offline, mapas, actualizaciones en vivo, hojas de cálculo y documentos regulados.

Módulos

De qué está hecho el producto, tal como lo dividen sus propias pantallas.

  • 01 Flota y conductores

    Vehículos, conductores, documentos y sus vencimientos.

  • 02 Servicios y liquidaciones

    Viajes, liquidaciones de servicios y terceros, extractos.

  • 03 Nómina y recargos

    Nómina con recargos calculados desde la propia operación.

  • 04 PESV

    El plan estratégico de seguridad vial: controles, formularios y evidencia.

  • 05 Cumplimiento

    SARLAFT, acciones correctivas y salidas no conformes.

  • 06 Formularios y asistencias

    Formularios, evidencias y asistencia por token entre oficina y campo.

  • 07 Apps móviles para conductores

    Dos apps Expo con marca propia para servicios, formularios, desprendibles y días laborados, con SQLite y una outbox de sincronización reintentable.

  • 08 Dos operadoras, una base

    La misma base de código con marca y despliegue por empresa.

Antes → después

  • Antes

    Dos productos evolucionando mediante copias manuales.

    Después

    Un núcleo compartido con identidad aislada por operadora.

  • Antes

    Evidencia de carretera llegando después de la operación.

    Después

    Captura nativa offline con una outbox de sincronización durable.

  • Antes

    Hojas de cálculo y plantillas documentales manuales.

    Después

    Documentos generados desde datos operativos estructurados.

Tecnologías

  • SvelteKit
  • TypeScript
  • Fastify
  • Prisma
  • PostgreSQL
  • Expo
  • React Native
  • SQLite
  • Mapbox

El resto de la caja

  • Zod
  • Pino
  • Swagger
  • JSON Web Tokens
  • Puppeteer
  • Univer
  • Chart.js
  • ExcelJS
  • pdfmake
  • Anthropic
  • Azure Blob
  • Amazon S3
  • Resend
  • Expo Router
  • SecureStore
  • Expo Notifications
  • Expo Location
  • Expo Camera
  • Expo Image Picker
  • Expo File System
  • Expo Sharing
  • NetInfo
  • Reanimated
  • Gesture Handler

Marcas de Simple Icons; los conceptos sin marca están dibujados en casa.

Bitácora

oct 2025 → oct 2026 · 13 meses activos

1603 commits
6 repositorios
13 meses activos
oct 2025 Mes más intenso: sept 2026 · 666 commits oct 2026
  • transmeralda · app app · 616 commits oct 2025 → oct 2026
  • transmeralda · api API · 288 commits may 2026 → oct 2026
  • cotransmeq · app app · 369 commits feb 2026 → oct 2026
  • cotransmeq · api API · 253 commits feb 2026 → oct 2026
  • transmeralda · mobile nativo · 38 commits sept 2026 → oct 2026
  • cotransmeq · mobile nativo · 39 commits sept 2026 → oct 2026

En el árbol

  • 166 rutas
  • 108 controladores de API
  • 302 modelos de datos
  • 135 migraciones
  • 163 archivos de prueba
  • 152 archivos fuente nativos
  • 3370 archivos versionados

Leído del historial Git local el 6 oct 2026. Solo agregados.

El resultado

La familia expresa un modelo operativo mediante dos despliegues web y dos apps de conductores con marca propia. La bitácora sigue seis bases de código web, API y móvil; ambas apps cubren servicios, formularios, desprendibles y días laborados con almacenamiento offline y sincronización.

Código privado — este archivo comparte el razonamiento, no el fuente.