Sobre el proyecto: Tuali Driver
Qué nos inspiró
Todo arrancó de un problema muy concreto y muy humano: cuando un camión de reparto ya está en ruta y un producto no está disponible (se acabó el stock, llegó dañado, el cliente cambió de opinión), el camionero tiene que decidir en el momento qué ofrecer en su lugar — sin datos, sin contexto, solo con su experiencia. Esa decisión improvisada puede significar una venta perdida, un cliente insatisfecho o un producto que termina regresando al camión.
Nos preguntamos: ¿qué pasaría si esa decisión no dependiera solo de la intuición del repartidor, sino que estuviera respaldada por los datos que la propia operación ya genera? Así nació la idea de Tuali: una app existene donde el rol del camionero se conecta y agrega directamente con el trabajo de un data analyst — alguien que, usando la base de datos histórica de ventas, inventario y sustituciones (en nuestro caso, datos inspirados en una operación tipo Arca Continental), entrena modelos que predicen qué producto sustituto tiene mayor probabilidad de ser aceptado por el cliente, y cómo persuadirlo en el momento.
Qué aprendimos
- El problema rara vez está donde uno cree. Pasamos buena parte del desarrollo pensando que la app no conectaba con el backend por un tema de seguridad de iOS (App Transport Security bloqueando HTTP sin cifrar). Llegamos incluso a generar certificados autofirmados y montar un servidor HTTPS paralelo. Pero cuando el mismo error apareció también en Android —que no tiene ATS— nos dimos cuenta de que la causa real era otra: ambos dispositivos estaban en una red de invitados con aislamiento de cliente (AP isolation), que impedía que el teléfono y la laptop se "vieran" entre sí. La solución terminó siendo mucho más simple (un hotspot personal) que el problema que creíamos tener.
- Diseñar para datos reales cambia todo. Trabajar con información sembrada a partir de CSVs reales (pedidos, inventario, clientes, sustituciones) nos obligó a dejar de lado los datos de prueba "bonitos" y enfrentar inconsistencias reales: nombres de producto con formatos distintos, categorías que no encajaban en nuestras suposiciones iniciales, y la necesidad de que cada parte de la interfaz —desde el dashboard hasta las tarjetas de inventario— reflejara fielmente lo que la base de datos realmente contenía.
- Un buen rol de "puente" multiplica el valor de los datos. El verdadero diferenciador de Tuali no es solo mostrar predicciones, sino conectar el trabajo analítico (modelos, tendencias, recomendaciones) con la persona que está físicamente frente al cliente. Los datos solo generan impacto cuando llegan, en el momento correcto, a quien puede actuar con ellos.
Cómo lo construimos
- Frontend: Expo / React Native, con pantallas adaptadas tanto para dispositivos móviles como para web (versiones
.tsxy.web.tsxpor pantalla), un store centralizado (useAppStore) y una capa de servicios (api.ts) que habla con el backend mediante autenticación basada en token. - Backend: Node.js con Express, Sequelize como ORM y PostgreSQL como base de datos, alimentada con datos reales sembrados desde archivos CSV (pedidos, inventario de camión, incidentes/devoluciones, sustituciones, clientes y rutas).
- Capa de predicción: un módulo de IA/analítica (
/ai/predict,/ai/recommendations) que el data analyst alimenta con el histórico de sustituciones y ventas, y que el camionero consume directamente desde la app para decidir qué ofrecer y cómo plantearlo al cliente. - Flujo end-to-end probado en dispositivo real: no nos quedamos en el simulador — corrimos la app completa (login, dashboard, inventario, sustituciones, predicciones) en un teléfono físico conectado al backend en vivo, para validar que la experiencia y los datos fueran reales de principio a fin.
Retos que enfrentamos
- Conectividad entre dispositivos en redes restringidas. Como mencionamos, diagnosticar por qué el teléfono no podía comunicarse con el backend nos llevó por un camino largo: revisar permisos de red local en iOS, generar certificados TLS con extensiones SAN para IPs específicas, levantar un servidor HTTPS en paralelo al HTTP… para finalmente descubrir que el problema era de la red Wi-Fi (aislamiento entre dispositivos), no de la app. Cambiar a un hotspot móvil resolvió en segundos lo que nos había costado horas de depuración.
- Mapear datos reales a una interfaz coherente. Cosas tan aparentemente simples como mostrar la imagen correcta de cada producto se volvieron un reto cuando los nombres reales de los productos (
Coca - Cola,Del Valle Guayaba,Powerade Frutas Rojas,Topo Chico Agua Mineral, etc.) no coincidían con los supuestos iniciales del diseño. Tuvimos que ajustar la lógica de mapeo para reflejar fielmente el catálogo real. - Equilibrar el alcance de una demo con la ambición de la idea. Queríamos demostrar el ciclo completo —camionero, datos, predicción y persuasión al cliente— sin perder tiempo en infraestructuras que no aportaban al objetivo central. Aprendimos a identificar cuándo un problema técnico (como el de HTTPS) era una distracción del verdadero problema de negocio que queríamos resolver.
En conjunto, Tuali Driver Rol Conductordemuestra que conectar a las personas que están "en la calle" con los datos que ya existen dentro de la empresa no requiere una transformación enorme — requiere el puente correcto, construido con cuidado.
Built With
- antigravity
- claudecode
- expo.io
- express.js
- gemini
- node.js
- postgresql
- react
- reactnative
Log in or sign up for Devpost to join the conversation.