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.

SYSTEM ARCHITECTURE

Under the Hood: Architecture & Data Flow

Industrial IoT operations architecture interfacing SCADA shopfloor hardware and legacy ERPs with high-frequency WebSocket distribution, normalized PostgreSQL time-series, and D3.js visualization.

Throughput: 12,000 sensor frames/min
Latency: < 2s shopfloor alert dispatch
Factory Floor & Executive UI
Dashboard UI
Floor Manager Touch Console React 18 / D3.js / SVG
Real-time assembly line performance monitor
D3.js Interactive ChartsTouchscreen OptimizedSub-2s Downtime Alerting
Maintenance Technician PWA Progressive Web App
Machine fault diagnostic assistant
Offline Diagnostic CacheQR Machine ScannerImmediate Push Notifications
HTTPS / TLS 1.3
Identity & Realtime Bus
Ingress & SSO
Active Directory LDAP Proxy LDAP / Node.js SSO
Role-based access mapping for 200+ staff
Enterprise Active DirectoryZero-Password FrictionRole-to-Facility Scoping
Real-time WebSocket Multiplexer Node.js / ws Engine
30-second plant metric broadcaster
30-Second Metric PulsesDelta-Only CompressionAuto-Reconnection Logic
Internal Mesh / gRPC
Industrial Integration Engine
IoT & ETL
SCADA Hardware Protocol Adapter Node.js / Modbus / OPC-UA
Shopfloor PLC telemetry interpreter
Modbus & OPC-UA SupportBinary Telemetry DecoderFault Code Categorization
ERP & Database Sync Worker Python / ETL Engine
Bi-directional shift schedule sync
SAP & AS400 SyncCollision ResolutionShift Target Tracking
Persistence & State Sync
Timeseries & Historian Storage
Historian DB
PostgreSQL Normalized Store PostgreSQL 15 / Timescale
Time-series sensor telemetry and KPI archives
Row-Level Security per PlantTimeseries CompressionAutomated Shift Reports
Redis 30-Second Sliding Buffer Redis 7 In-Memory
Real-time anomaly detection buffer
Sliding Window AnalyticsSub-2s Anomaly TriggersIn-Memory Aggregations
Component Details
STEP 1 OF 5
Modbus / OPC-UA
SCADA Hardware Protocol Adapter Redis 30-Second Sliding Buffer
Industrial assembly line PLCs emit machine status and RPM over Modbus/OPC-UA into sliding memory buffer.
Key Engineering Decisions & Trade-offs
✓ Decoupled SCADA Adapter Bridge

Isolated fragile legacy plant hardware (Modbus/OPC-UA) behind containerized protocol adapters, allowing the web interface to iterate without touching factory machine controllers.

✓ Client-Side D3.js Data Aggregation

Streamed compressed raw timeseries deltas to client browsers where D3.js computed Pareto charts dynamically, reducing central server CPU overhead by 78%.

TECHNICAL DEPTH

Deep Dive Specifications

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
See our work Start a project