All Case Studies
Web Manufacturing

Internal Operations Dashboard

Built a real-time operations dashboard replacing 14 Excel reports, giving floor managers a single source of truth for production KPIs.

Manufacturing Co. (Confidential) 8 weeks 2 engineers 2025
14→1 Reports consolidated
3h Daily time saved
Real-time Data refresh
Tech Stack
ReactD3.jsPostgreSQLNode.jsWebSocketsLDAPDocker

The Challenge

Floor managers at a 3-facility manufacturing company started each shift by manually compiling 14 Excel reports from 6 systems — a 3-hour process per manager per day. Data was always stale, KPIs were inconsistent across facilities, and no one had a real-time view of production throughput.

Our Solution

A single-page React dashboard integrating data from 6 source systems via a Node.js aggregation API. D3.js powers live production line charts, OEE gauges, and downtime Pareto charts. WebSockets push updates every 30 seconds. LDAP integration with Active Directory for zero-friction SSO for all 200+ staff.

The Results

3 hours of daily report-building eliminated per manager (6 managers = 18 hours/day across the company). All 14 KPI definitions standardized. Floor managers can now react to downtime events in under 2 minutes instead of the next-shift briefing.

TECHNICAL DEPTH

Under the Hood

Data Integration

The 6 source systems include a 20-year-old SCADA platform, 2 ERP instances, and 3 internal databases. We built adapter modules per source with a normalized data model in PostgreSQL. ETL runs every 30 seconds with conflict resolution for overlapping data.

Visualization Layer

D3.js for production throughput sparklines, OEE donut charts, and Pareto downtime charts. Recharts for the simpler KPI trend lines. All charts are interactive — drill-down from facility → line → machine. Export to PDF/CSV for shift handover reports.

Access Control

LDAP sync with Active Directory assigns roles based on AD groups. FLOOR_MANAGER sees one facility. PLANT_DIRECTOR sees all 3. ENGINEER sees maintenance-specific views. Row-level security in PostgreSQL enforces data scoping — the UI permissions are decorative only.

SIMILAR PROJECT IN MIND?

Let's talk about what you need.

Start a Conversation More Case Studies