Inspiration
En un taller de reparación de equipo industrial (husillos, motores eléctricos) todo gira alrededor de las piezas: si falta una refacción, la reparación se detiene y la línea del cliente también. Aun así, el inventario muchas veces vive en una hoja de cálculo o en la memoria de la persona que "sabe dónde está todo". Las piezas apartadas para una reparación siguen contando como disponibles, las más viejas se quedan al fondo y nadie se entera del desabasto hasta que ya es tarde.
Quisimos un almacén que se vigile solo: que registre cada movimiento, que no se equivoque con las existencias y que avise con voz cuando una pieza crítica está por agotarse.
What it does
Taller-inteligente-HP4 es un MVP de almacén inteligente para un taller de reparación industrial, construido con una arquitectura orientada a eventos:
- Control FIFO por lotes: separa el stock físico del stock disponible (piezas apartadas para reparaciones), y garantiza que salgan primero las piezas más antiguas.
- Audit trail inmutable: cada entrada, salida o reserva queda registrada en una tabla de movimientos que nunca se modifica.
- Panel simulador IoT: en lugar de formularios tradicionales, un panel con botones envía eventos JSON al backend, emulando escáneres RFID, drones y órdenes del ERP.
- Alertas de voz con IA: cuando el inventario disponible de una pieza cae por debajo del mínimo seguro (3 unidades), el backend detona una alerta y el frontend reproduce un mensaje de voz dinámico generado con ElevenLabs.
- Vista móvil de piso: escaneo de códigos de barras (Code 128) de piezas y de ubicaciones de almacén (estantes) desde el celular.
- Dashboard de escritorio para ver el inventario y los movimientos en tiempo real.
How we built it
Empezamos por el modelo de datos y terminamos en la interfaz:
- Base de datos: esquema SQL en PostgreSQL (Tiger Data) con lotes, inventario, órdenes de trabajo y movimientos inmutables.
- Backend: Node.js + Express +
pg, con procesamiento de eventos (kafkajs). Usamos idempotencia con una tablaprocessed_eventsy un patrón outbox para los eventos de salida. - IA de voz: integración con la API de ElevenLabs para generar las alertas de faltante.
- Frontend: React + Vite + Tailwind CSS, con el dashboard de escritorio y el simulador IoT.
- App móvil: escaneo con la API
BarcodeDetectordel navegador yhtml5-qrcodecomo alternativa para los dispositivos que no la soportan, con un diseño en tonos gris y verde.
Trabajamos con un contrato de eventos como fuente de verdad: si el plan y el contrato no coincidían, ganaba el contrato.
Challenges we ran into
- Consistencia de existencias: con eventos que pueden llegar duplicados o fuera de orden, evitar dobles descuentos y dobles reservas nos obligó a diseñar bien la idempotencia.
- Físico vs. disponible: separar lo que hay en el estante de lo que ya está comprometido para una reparación, sin romper el FIFO por lotes.
- Modelar los kits: decidimos inventariar por pieza (
part_id) y dejar que el kit solo agrupe, con las reservas a nivel de pieza. - Escaneo en navegadores móviles: no todos soportan
BarcodeDetector, así que hubo que construir un plan alterno. - Integrar el trabajo en paralelo: backend, dashboard de escritorio y app móvil avanzaron en ramas distintas y hubo que unirlos con el tiempo encima.
Accomplishments that we're proud of
- Un esquema de datos que respeta FIFO y deja un historial inmutable de todo lo que pasa en el almacén.
- Una demo completa sin hardware real: el simulador IoT dispara los mismos eventos que mandarían escáneres RFID, drones o el ERP.
- El momento en que una pieza baja del mínimo y el sistema habla para avisarlo.
- Una app móvil que escanea piezas y ubicaciones directo desde el navegador.
What we learned
- Modelar bien el dominio (lotes, reservas, movimientos) antes de escribir código nos ahorró retrabajo.
- La idempotencia y el patrón outbox son indispensables cuando se trabaja con eventos.
- Definir un contrato desde el inicio permite que backend y frontend avancen en paralelo sin pisarse.
- Un simulador bien hecho puede demostrar una arquitectura IoT sin necesitar el hardware.
- Integrar IA de voz es mucho más sencillo cuando la alerta ya es un evento del sistema.
What's next for Taller-inteligente-HP4
- Conectar hardware real: lectores RFID y drones de inventario en lugar del simulador.
- Smart Procurement: sugerir y generar órdenes de compra automáticamente antes de llegar al faltante.
- Costo promedio de las piezas y reportes de valor de inventario.
- Integración directa con el ERP del taller.
- Observabilidad: métricas y trazas de los eventos del sistema.
- Soporte para servicios y para varios almacenes.
Log in or sign up for Devpost to join the conversation.