Client names are withheld under confidentiality agreement. The engineering is described as it happened.
Production reporting lived in spreadsheets and an ERP nobody could query directly. Each plant answered the same questions differently, and the monthly meeting was spent arguing about whose number was right.
The engagement started with one prototype dashboard at one plant, rebuilt until its numbers matched the existing report exactly.
That exposed the actual problem: the data lived in a spreadsheet. We replaced it with a live database fed continuously from the ERP.
Once one site was real, the rest became configuration. Fifteen plants now run on the same pipeline, with history back to January 2022.
Directory single sign-on, per-plant scoping enforced server-side, and an audit trail covering who changed access and when.
Before adding a single new metric, the dashboard had to match the existing reports to the penny. Every divergence was investigated and written up rather than quietly corrected — which is how the numbers earned trust.
The first live dashboard took about fifteen seconds to load. Nobody uses a fifteen-second dashboard. Rebuilding the query and caching path brought it to roughly two — the difference between a tool and a demo.
The first plant took months. If the second also takes months, nothing was built — only delivered. Later sites onboarded in days, because the site catalog was data-driven rather than hard-coded.
Fifteen plants are connected to the pipeline, with roughly 1.1 million records backfilled to January 2022 and refreshed continuously.
Adoption is narrower than the plant count suggests, and we would rather say so: usage is concentrated among a small group of heavy users rather than spread evenly across every site. The strongest signal is depth — at the most engaged plant, the dashboard was used on 23 of 30 consecutive days.
You will get the same treatment. A reference call from this engagement is available on request once an NDA is in place.
Pick the number that causes the most arguments. We will start there.