Skip to content
Back to projects

Semsamex

Hundreds of workwear variants, and a product key nobody has to type anymore.

I built the platform that holds Semsamex's industrial workwear catalog and generates its product keys. As each component of a garment is picked, the system assembles the key character by character and writes the full product name underneath. Neither one is typed by hand.

My role
Domain modeling, backend, frontend and deployment
Sector
Textil / Manufactura
Scope
App web
6
Catalogs behind the key
8
SKU search filters
1 month
Delivery time
Excel + report
Data exports

Stack

  • React (Vite)
  • Material UI
  • Node.js
  • Express
  • JavaScript
  • MySQL
  • Docker
  • Dokploy (CD/CI)

Screens

Screenshots from the live system.

App web

Generación de SKUs

El listado de claves con su buscador y los filtros por cada componente, y el alta donde se ve el sistema trabajando: conforme se elige prenda, tipo, género, tela, bolsa, cinta y cerrado, la clave se va armando letra por letra arriba y la descripción del producto se redacta sola abajo. Cada SKU queda ligado al cliente que lo pidió.

App web

Catálogos que componen la clave

Cada pieza de la clave tiene su propio catálogo con su código: prendas, telas con su ficha técnica e imagen, configuraciones de bolsas, cintas, cerrados y personalizaciones como bordado o estampado. Todos exportables a Excel.

The problem

Semsamex manufactures industrial workwear, and every garment exists in hundreds of variants: the garment, its type, the fabric, the fabric type, the pockets, the tape and where it sits, the closure, the customization and the gender. The product key is that whole combination, and it was being typed by hand. That is exactly where the inventory errors got in.

What I built

I modeled every piece of the key as its own coded master catalog: garments, fabrics with spec sheet and image, pocket configurations, tapes, closures and customizations such as embroidery or print. Creating a product means picking those one by one while the key assembles itself in real time above and the full garment description writes itself below. SKUs are searchable and filterable by sector, garment, type, fabric, pocket, tape, closure and customization, linked to the client that ordered them, and exportable to Excel or a report. Shipped in a month on React (Vite) with Material UI, Node/Express and MySQL, containerized with Docker and deployed through Dokploy CI/CD.

Technical decisions

  1. 01

    The key is composed, never typed

    The inventory errors started in manual key entry. I modeled the key as a derivation of the components you pick, so the system builds it character by character during data entry and there is nothing left to mistype.

  2. 02

    One catalog per piece of the key

    Garments, fabrics, pockets, tapes, closures and customizations each live as a master catalog with its own code. Adding a new fabric is one more record in its catalog, not a code change.

  3. 03

    Product names write themselves

    Beyond the key, the system composes the full description with every attribute of the garment. That is the text used downstream in quotes and delivery notes, and it comes off the same data the key does.

  4. 04

    Every SKU traces back to its client

    Keys are linked to the client that requested them, and the listing filters by sector, garment, type, fabric, pocket, tape, closure and customization. You can see the exact configuration an account ordered without decoding the key.

  5. 05

    The data leaves the system cleanly

    The SKU listing and every catalog export to Excel or a report, so the data stays usable outside the platform without re-keying it.

Next project

Eventya

Book an entire event from your phone and pay for it in installments.