Casi cuatro años en Kimer como perfilador especialista y casi uno en THU, trabajando en perfiladoras: máquinas que convierten bobinas de acero en perfiles. En Kimer me encargaba también del ajuste de máquinas y del control de calidad. Steelworks es un MES especializado en ese tipo de planta: órdenes, bobinas, consumo, calidad y OEE, con la lógica de una perfiladora y no la de un programa genérico.
Tecnologías: Python (FastAPI), PostgreSQL, React y TypeScript, WebSockets. Demo pública con una planta de ejemplo.
En una perfiladora la materia prima es la bobina: llega con su etiqueta de peso, lote y medidas, y se va gastando turno a turno. Lo difícil es saber al final cuántos kilos se gastaron de verdad en cada orden y cuánto quedó como sobrante. Si eso se apunta en papel o en un programa pensado para la oficina, el dato llega tarde o no cuadra con la báscula.
Steelworks es la reconstrucción, con tecnología actual, de una versión anterior que hice yo mismo. Conserva la lógica que venía de la planta: el orden en que se gastan las bobinas, el cálculo de kilos a partir del radio y la comparación con la báscula.
El operario escanea el QR de la etiqueta y la bobina queda asignada a su orden. El consumo se reparte por fecha de entrada entre las bobinas vinculadas, así no se gasta por error una bobina de otro turno.
Para saber lo que queda, el operario mide el radio con un metro. El sistema lo convierte en kilos con la densidad del acero, y el sobrante puede volver al almacén. La idea no es mía: la aprendí del ERP antiguo que usaba una de las empresas donde trabajé, y la recreé porque me pareció una ventaja que merecía la pena conservar.
La orden sabe qué material necesita. Si la bobina es de otro tipo, su ancho se aleja más de 2 mm o su espesor más de un 10 %, el sistema no deja vincularla y le explica al operario por qué.
Compara lo que el sistema cree que se ha gastado con lo que pesa de verdad, para que la merma no quede escondida en un promedio.
Disponibilidad, rendimiento y calidad con lo que se ha registrado; si no hay datos, muestra 0 en vez de inventarse un número.
Cada registro de producción se guarda y la base de datos impide modificarlo o borrarlo después. Pensado para que una auditoría ISO 9001 pueda seguir cada lote.
Recuerda al operario los autocontroles de calidad del turno y le deja abrir una incidencia con foto desde el móvil escaneando un QR.
Al vincular una bobina, la orden se la queda entera. Si el operario la cambia antes de acabarla, a la orden se le descuenta lo que no ha gastado, para que cada orden refleje los kilos que consumió de verdad. ADR-019. ADR →
Gastar una bobina, descontar el stock y apuntar el movimiento tienen que pasar a la vez o no pasar. Por eso se eligió una base de datos relacional con transacciones y reglas que impiden que los kilos no cuadren. ADR-002. ADR →
Unas plantas quieren que el sistema vincule bobinas solo; otras prefieren control manual. Las funciones se activan por planta sin cambiar el código. ADR-003. ADR →
Entra con un clic, sin usuario ni contraseña. Como operario escaneas la bobina de ejemplo COIL-DEMO-001 para vincularla a una orden; como supervisor ves el OEE y el consumo de cada orden.
Repositorio público con el código, las decisiones de diseño explicadas por escrito y la descripción del flujo real del operario. También puedes preguntarle al asistente técnico de esta página (💬).
Ver en GitHub →Este es uno de los siete proyectos del portfolio. Cada uno nace de un problema real de planta o de reparto.