Todas las obras

Plataforma·MMXXV — MMXXVI

waydot

Un sistema operativo para empresas de servicio en campo

Año
MMXXV — MMXXVI
Rol
Fundador · único ingeniero
En línea
waydot.mx

I·Contexto

Las empresas de servicio en campo operan con WhatsApp, hojas de cálculo y llamadas. Una visita se captura tres veces, la nómina se calcula de memoria y nadie puede comprobar qué pasó en sitio.

II·Lo que hice

  1. I

    Diseñé y construí los siete servicios: API, consola web, app Android, motor de optimización, sitio, documentación e infraestructura.

  2. II

    Documenté cada decisión de arquitectura, y cada una nombra los archivos que la implementan.

  3. III

    Pruebas contra Postgres real en CI; los errores conocidos tienen su propia prueba, marcada, hasta que se corrigen.

Módulos

  1. I

    Operación y despacho

    Mapa en vivo de tickets, técnicos y relojes de SLA.

  2. II

    Ejecución en campo

    Checklists, evidencias y firmas que funcionan sin señal.

  3. III

    Personal y finanzas

    Asistencias, visitas y kilometraje directo a la nómina.

  4. IV

    Activos y redes de servicio

    Quién tiene cada equipo, dónde y desde cuándo.

  5. V

    Calidad, seguridad y confianza

    Una bitácora encadenada con SHA-256 que nadie puede reescribir.

Cómo está hecho

Aislamiento por fila
Una sola base de datos con seguridad a nivel de fila forzada en Postgres. La empresa activa viaja con cada conexión y con cada trabajo en cola; sin ella, la consulta no devuelve nada en vez de devolver datos ajenos.
Sincronización sin conexión
La app guarda cada cambio con su identificador y la versión que vio. El servidor bloquea el registro, compara versiones y guarda el resultado: un reintento recibe la misma respuesta y nunca se aplica dos veces. Si hubo conflicto, regresa su copia para que el teléfono se ponga al día.
Bitácora encadenada
Cada entrada lleva el SHA-256 de su contenido y del hash anterior, por empresa, escrita dentro de la misma transacción que el cambio y serializada con un candado de Postgres. Un verificador recorre la cadena y señala el primer eslabón roto.
Rutas y riesgo
Un motor en Rust llama a OR-Tools por un puente en C++ para armar rutas con tiempo y capacidad por técnico. Dos modelos LightGBM entrenados en Rust, sin Python: uno calibra el riesgo de incumplir un SLA y otro da la duración de un trabajo como un rango, no un número.
IA con permiso
Las herramientas que escriben se detienen en la llamada exacta, con sus argumentos, hasta que una persona la aprueba. Pedirle al modelo que confirme se lo puede saltar; esto no. Y actúan con los permisos del usuario, nunca con más.
Nómina
Sólo lee lo aprobado: horas firmadas, permisos concedidos, reembolsos y aumentos vigentes. Cada línea dice de qué registro viene; un aumento a mitad de periodo lo divide, y retiene ISR.
Evidencia que no cambia
Las listas de tareas se copian al asignarse, así editar una plantilla no reescribe trabajos pasados. Las respuestas sólo se agregan: corregir es responder de nuevo.
Infraestructura
Terraform sobre DigitalOcean y Cloudflare. El servidor sólo acepta tráfico de la red de Cloudflare; archivos en R2, despliegues por etiqueta de imagen con reversión en un comando.

III·Lo que aprendí

“Todo lo que aprendí en diez años, en una sola plataforma.”

Herramientas

Laravel 13·Vue 3·Rust·Capacitor·PostgreSQL·Terraform

Siguiente obra

Compusof Tools

Una bitácora de campo que funciona sin señal

Contacto

Tus datos solo se usan para responderte. Lee el aviso de privacidad.