ERP · Textile processing mill · Live, in daily use

Textile Mill ERP

A complete production management system that follows fabric from greige receipt through printing, dyeing and post-processing to packing and dispatch, with lot-level traceability. It replaced paper, spreadsheets and a single-user Access database. I built and maintain all of it alone: 45 screens, a 79-table database, 31 API modules, tablet layouts for the production floor and an Android companion app.

The problem

The mill's records lived in one Microsoft Access file. Access locks the file, so only one person could enter data at a time. Greige, printing, dyeing, post-process and dispatch all work at the same moment, so staff had to wait for the database or write on paper and type it in later. Management was always reading yesterday's picture.

  • No way to see where a lot was without asking several people
  • Rows could be changed or deleted with no record of who did it
  • End-of-shift reports were compiled by hand
  • One corrupted file would have taken years of history with it

What I built

A web application that runs on the factory's own network. Staff open it in a browser — office PCs and tablets on the production floor — so there is nothing to install or update on each machine. Every department enters its own data at the same time into one MySQL database, and every entry is tied to a lot.

  • Greige: receiving, issuance, returns, rejection and lot transfer
  • Printing and dyeing production entry, with machine and operator
  • Post-process stages from singeing to finishing and calendering
  • Packing, gate passes, dispatch and shortage tracking
  • 14 live reports with one-click Excel export
  • User accounts, per-screen access, operators and notifications

Security and reliability

Passwords are stored only as bcrypt hashes. Every request is checked on the server against the screens that user has been given, and the menu is drawn from the same list, so what a person sees and what they are allowed to do cannot drift apart. Every change writes an audit record, and the database is backed up, verified and sent off-site every night.

The result

  • Every department enters data live — no more waiting for one file
  • Any lot can be traced from fabric receipt to dispatch
  • Management reports arrive automatically, twice a day
  • A disputed quantity has a definite answer: what changed, who changed it, when
  • Years of old records were kept, not thrown away

Technology

React 19ViteNode.jsExpressMySQLSheetJSAndroid

More work

Other projects

ERPTextile processing mill

Legacy Access to MySQL Migration

Scripted tooling that moved years of production history out of a Microsoft Access database into MySQL without losing a record — ending single-user file locking so every department can enter data at the same time. Includes repeatable merge scripts for the period when the old and new systems ran side by side.

MySQLMicrosoft AccessNode.jsPowerShell
AIBuilt into the Textile Mill ERP

ERP Assistant — Ask the System by Text or Voice

Staff ask in plain words — typed or spoken — things like "what is left to print on this lot?" and get the same figure the report shows. It runs reports, explains screens and opens forms pre-filled for a person to save. It only shows what the asking user is allowed to see, never writes data itself, and runs fully on the factory server, so business data never leaves the building.

Node.jsCustom NLU engineVoice inputPermission-aware tools
AIFactory production line

AI Machine-Safety Interlock

Cameras watch a production line and, when a person is somewhere unsafe, the machine near them is stopped through the PLC. One batched detection pass covers 15 cameras and controls two machines independently. Mask zones separate "outside the plant wall" from "allowed to stand here", and the design is fail-safe: when in doubt, stop.

PythonYOLOv8OpenCVRTSP camerasModbus · Delta PLC

Contact

Tell me the problem. I will show you the fix.

Have a similar problem in your business? Describe it and I will reply with how I would solve it.