Skip to content

Making a factory floor observable in under a minute

PT. Pan Brothers Tbk and Group · Software Engineer · Sep 2018 — Nov 2021

Built production monitoring across three plants and thirty lines, taking status-update cycles from six hours to under a minute for 20+ stakeholders.

  • Laravel
  • PHP
  • Docker
  • MySQL

Context

There was no central view of production. Getting a status update to stakeholders meant collecting numbers from the lines by hand and consolidating them, and that chain was slow enough that a report described a factory floor as it had been hours earlier — across roughly three plants and thirty lines.

Decisions

How do you get trustworthy real-time state off 100+ machines into one dashboard?

Chosen

Real-time telemetry ingestion into a unified dashboard

Taking the reading straight off the machines removed the manual hand-off rather than speeding it up. One dashboard fed by the lines themselves meant the state stakeholders read was the state the floor was in, with no consolidation step in between.

Rejected alternatives

  • Keeping the manual data-entry and reporting chain

    The hand-off from the lines was itself the delay. Producing the same reports faster off the same manual input would not have moved the number that mattered.

  • A separate local dashboard for each line

    Stakeholders needed one picture across the plants. Thirty independent readouts would have moved the consolidation work onto the people reading them instead of removing it.

Outcomes

Every figure below is shown with what it measures.

Measured outcomes: Making a factory floor observable in under a minute
OutcomeResultHow it was measured
Status-update cycleImprovement6 hours to <1 minuteTime for production status to reach stakeholders across ~3 plants and ~30 lines.
Data freshnessSustained≤30 secondsMaximum age of data shown on the dashboard.
Manual data consolidationImprovement~6-10 hrs/week to 0(approx.)Manual consolidation work removed by the unified dashboard.
Machines reporting telemetryScale>100 machines at ~150 msg/s(approx.)Machines integrated into the unified dashboard.

Architecture

Telemetry path from machine to dashboard

More than a hundred machines across roughly three plants and thirty lines emit telemetry at about 150 messages per second. The messages reach an ingestion service, which writes them to a store that the unified dashboard reads, keeping displayed data no more than thirty seconds old for the twenty-plus stakeholders using it. Shown alongside for contrast is the path it replaced: line operators recording figures by hand, a manual consolidation step, and a report that reached stakeholders about six hours later. The manual chain is what the direct path removed.