The Millwright demo, explained. Read how it was built.
Machine Down. Floor keeps running.
Work reroutes on the next 200 ms tick.
Free browser MES simulator. All data simulated.
A stopped machine bills you by the minute. Only you know the rate.
What a failover saves depends on two numbers. Both are yours.
Your figures: 50,000 lost per hour down, 30 min by hand. Millwright: 8 min (the next 200 ms tick, plus the demo's flat 5 min transport and 3 min setup), 22 min sooner. At 10 incidents a month: 2,200,000 a year.
| Step | By hand | Millwright |
|---|---|---|
| Starts | Someone notices | Next 200 ms tick |
| Who picks the machine | A person | The one that finishes soonest |
| Time lost | Your estimate (above) | 8 min: tick, transport, setup |
Every machine, every queue, live.
| ID | Machine | Type | Operations | Failover run |
|---|---|---|---|---|
| M1 | MILL-01 | CNC | 3 CNC operations | Running |
| M2 | MILL-02 | CNC | 3 CNC operations | Takes over |
| M5 | MILL-03 | CNC | 3 CNC operations | Fault |
| M6 | MILL-04 | CNC | 3 CNC operations | Takes over |
| M8 | MILL-05 | CNC | 3 CNC operations | Takes over |
| M3 | ASM-A | Assembly | 7 assembly and welding, 2 shared | Running |
| M7 | ASM-B | Assembly | 7 assembly and welding, 2 shared | Running |
| M4 | TEST-B | Test | 6 test and calibration, 2 shared | Alert |
Operations / all 18 types
Variator housing AL7075 / Controller housing IP67 / Brake caliper / Battery pack 48V / Shock absorber housing, welded / Main harness 16-pin / Inverter 5 kW / BLDC motor 2.5 kW / Support frame, TIG / Control board PCB / Full EOL protocol / Basic inspection / Sensor array calibration / Vibration analysis / Power load cycle / EMC compliance scan / Assembly kit packaging / QC rework
- Fault M5 A machine stops.
- Detect 200 ms Next tick. Also: a parameter out of range.
- Rank 3 levels Critical, then rush, then standard.
- Pick soonest Queue and measured speed decide.
- Move 5 + 3 min Transport, plus setup on a changeover.
- Run M2 M6 M8 Jobs start. No schedule by hand.
Pick a station to take down.
Down: M5. Queue by priority, finish time per machine.
One operation here runs only on the station you took down. The scheduler does not park it: it takes the machine that finishes it soonest, as the demo does.
A frozen floor, not yours, with the demo's own rule and numbers. Finish = queue + transport (flat 5 min, no distance model) + setup (3 min, only on a changeover) + run (nameplate minutes × the machine's measured speed factor). The winner carries the job into the next placement, so the quickest machine does not win every time.
| Machine | Queue (min) | Transport (min) | Setup (min) | Run (min) | Finish (min) | Pick |
|---|
Three charts, one event log, CSV out.
Time-filtered reports on live charts.
- Charts
- 3Floor load, throughput, utilization. Live.
- Alert tags
- 4Technicians, supervisors, managers, QC. Labels only: nothing is sent.
- CSV export
- CSVFull event log. The demo keeps nothing: this file is the only copy.
| Time | Machine | Event | Tagged for |
|---|---|---|---|
| 14:22:07.400 | M5 | FAULT_DETECTED | Technicians |
| 14:22:07.600 | M5 | JOB_SUSPENDED | Supervisors |
| 14:22:07.800 | SCH | RESCHEDULE_STARTED | Managers |
| 14:22:08.000 | M2 | JOB_ASSIGNED | Supervisors |
| 14:22:08.200 | M6 | JOB_ASSIGNED | Supervisors |
| 14:22:08.400 | M8 | JOB_ASSIGNED | Supervisors |
| 14:22:08.600 | SCH | RESCHEDULE_DONE | Managers |
| 14:22:08.800 | M2 | JOB_STARTED | Supervisors |
| 14:22:09.000 | M6 | JOB_STARTED | Supervisors |
| 14:22:09.200 | M4 | PARAM_OUT_OF_RANGE | QC team |
| 14:22:09.400 | M1 | JOB_COMPLETED | Managers |
| 14:22:09.600 | M3 | QC_CHECK_PASSED | QC team |
It reschedules the same whether one machine fails or three.
Failure simulation
Trigger a failure, watch its jobs move to the rest of the floor.
Fastest-finish scheduling
Re-plans the fastest finish for every job on every 200 ms tick, counting machine speed, transport and setup.
Runs local
Runs in your browser. Nothing goes to a server. Every operation lands in an event log with CSV export.