RL Core Technologies Industrial AI · Reinforcement Learning · SCADA / DCS · 2024

We designed industrial AI Interface to optimize Machine Plants.

Outcome Wireframe-grade MVP → launch-ready industrial AI platform, on the date that didn’t move. Self-guided UX, cohesive design system, real before/after receipts.
RL Core. Set up Safety Constraints wizard with red / yellow / grey engineering-limit zones as status

Imagine a plant that learns its own controls.

RL Core Technologies is reinventing industrial control with reinforcement learning. Their engine, RL Tune, talks to SCADA / DCS plant systems over OPC UA, learns process behavior from live sensor data, and continuously optimizes controls to hit plant-level KPIs, energy, chemicals usage, product quality, throughput. The engine was real. The interface was wireframes.

01Engineering-grade product, MVP-grade UX. No design system, no consistent typography, no shared components, just functional flows with placeholder chrome.
02A launch date that wouldn’t move. Design had to ship in lockstep with engineering, surface by surface, while the platform kept evolving underneath.
03From in-person setup to in-app setup. The original platform required engineers on-site to stand RL Tune up at a plant. The redesign had to make the system self-guided.
★★★★★
Denovers learned reinforcement learning, the SCADA stack, and the way an industrial operator thinks faster than I expected. They turned a wireframe-grade MVP into a launch-ready platform, and we hit the date. The self-guided connection flow they shipped during the trial alone made it clear who I wanted to partner with, and the cohesive design system keeps every new module feeling like one product as we add to it.
Basak Mutlum
Basak Mutlum Product Manager · RLCore · industrial reinforcement-learning platform
Launch On date Hit the fixed window. Connection flow shipped during the trial; the rest through 2×-weekly working sessions.
Setup Self-guided From in-person to in-app. Customers stand the system up themselves, no on-site engineer required.
System Shipped Cohesive design system alongside. Tokens, primitives, modal shells, status semantics. New flows assemble, not redraw.
Vocabulary Industrial Domain-fluent design. SCADA / DCS / OPC UA / tags / engineering limits, the UI speaks the language.
The story

From wireframe-grade MVP to a launch-ready industrial AI platform.

RL Core Technologies is reinventing industrial control with reinforcement learning, making every plant self-optimizing. Their engine, RL Tune, connects to SCADA / DCS plant systems over OPC UA, learns process behavior from live sensor data, and continuously optimizes controls to hit plant-level KPIs. They came to us with the engine working and the interface unfinished: basic wireframes, MVP-grade flows, and a launch date that wasn’t moving. The brief had three asks: revamp the entire UX before launch, replace manual on-site setup with self-guided in-app flows, and ship a cohesive design system to carry the platform past launch into scale.

We worked hardest-flow-first. The single biggest pain on the MVP was the OPC UA connection from RL Tune into a plant’s SCADA / DCS, the workflow every customer hits on day one. We tackled that during the trial, before the engagement was even formalized, so the riskiest workflow had a working interface before anything else got designed around it. Then 2×-weekly working sessions with PM Basak Mutlum and the engineering team, building tokens, table primitives, modal shells, and status semantics alongside the production work. The dark-theme industrial-control language landed early; every chapter after assembled from the same kit. Configuring an Optimize or Stabilize agent went from side-panel forms requiring engineers on-site to a self-guided full-screen modal customers can stand up themselves. We hit the date.

ClientRL Core Technologies · industrial RL (rlcore.ai)
RegionUS
EngagementPre-launch UX revamp + design system partner
StatusLaunched on date · system live · self-guided UX
Where we started

What we walked into.

An MVP that ships engineers to plants to set up a connection isn’t broken, it’s ungrown. The engineering was real; the interface hadn’t caught up. The audit named four heaviest costs: a wireframe-grade MVP, agent setup that required on-site engineers, safety zones that were implied not visible, and no way to read the system at a glance.

Before · MVP testStabilize agent, wireframe-grade chrome, raw IP host name, no design system
Wireframe-grade MVPBefore
Before · MVP Optimize agent objective configuration, flat priority cards, raw tag dropdowns, side-panel forms that didn't scale
Agent setup on-site onlyBefore
Before · MVP Tag DB Safety Constraints, single continuous rainbow gradient with placeholder zeros for engineering limits
Safety zones impliedBefore
Before · MVP Diagnostics, cramped per-core mini-bars, dense KPI rows, no hierarchy
Unreadable system viewBefore
Chapter 01

Connection flow: RL Tune meets the plant.

Every RLCore deployment starts the same way. RL Tune has to talk to the plant’s control system over OPC UA, capture live sensor data, and start learning. The MVP required an engineer on-site to clear that handshake. We rebuilt it as a self-guided in-app flow that walks the customer from server URL through certificate exchange, namespace browse, and tag selection, and shipped it during the trial period so customers were standing up RL Tune on their own before the rest of the engagement opened.

app.rlcore.ai/connect/main_plant
RLCore Connection flow · Main_Plant deep dive. OPC Server Navigation tree (Objects · Locations · Server · BACKWASHPROCESS · PRGM tags) on the left, Tag Details panel on the right with Node ID NS=2;I=10201, current value 45.2, last updated 2 seconds ago, plus a Write New Value field for direct OPC UA writes
Connection flow OPC UA · namespace browse · tag selection · live readback Trial-phase deliverable
Chapter 02

TagDB: tags as semantics, not numbers.

The MVP treated tags as raw rows, name, value, units, and showed safety thresholds as a placeholder rainbow gradient. We rebuilt TagDB so each tag carries explicit zone bands (red / yellow / grey) tied to engineering limits, decoupled the schema from the RL engine itself, and made the data structure speak the safety language so the UI could. A reading at the edge of yellow stops being arithmetic; the zone is the status.

app.rlcore.ai/tagdb/testing_db
RLCore TagDB · testing_db detail. Running status pill, Turn Off / Turn On controls, Data Source Tags · Monitoring · Logs tabs, Tag Logging timer (HH:MM:SS), and OPC ID Main_Plant rows showing per-tag Alerting and Safety Constraints status with explicit Configured / Disabled badges
TagDB Independent data layer · decoupled from the engine The schema
app.rlcore.ai/tagdb/safety-constraints
RLCore TagDB · Set up Safety Constraints wizard. Add Tags / Set up Constraints / Set up Alerts stepper, OPC ID Main_Plant block with TAG-01 Configured pill, and a multi-band gradient (LOW grey · RED · YELLOW · GREEN · YELLOW · RED · HIGH grey) with explicit Engineering Limit / Red / Yellow numeric values for HIGH and LOW thresholds
Zone semantics Red / yellow / grey · engineering limits as status Operator-readable
Chapter 03

Agents: Optimize and Stabilize, self-guided.

Optimize agents push process performance toward a goal (cost, energy, throughput, quality); Stabilize agents keep operations within tolerance when conditions shift. The MVP buried both in side-panel forms that required specialist help. We rebuilt agent setup as a self-guided full-screen modal, same shape for both types (general setting → agent tags → guardrails → objective), with edits opening directly to the affected step.

app.rlcore.ai/agents/optimize/objective
RLCore Agent · Optimize · Optimization Objective step. General Setting · Agent Tags · Actions · Optimization Objective wizard, prioritized goals (Priority 1, Priority 2) with AND/OR logic, Select Tag · Adjust Value · Threshold rows, and a Virtual Tags side panel for computed tags from expressions
Agent · Optimize Goals · priorities · AND/OR threshold logic · virtual tags Setup flow
app.rlcore.ai/agents/stabilize/test_stabilize_agent
RLCore Agent · Stabilize live monitoring. Test_Stabilize_Agent header with Running pill and Turn Off / Turn On controls, Intended State and Config Path metadata, Details · Monitoring · Logs tabs, and a Configuration Preview chart of agent action and performance attention plotted across the day
Agent · Stabilize Live monitoring · agent action vs. performance attention Running surface
Chapter 04

Diagnostics + Dashboard: reading the system at a glance.

Two surfaces close the platform out, and both are about visibility. Diagnostics is the engineering view. CPU, cores, DB state, agent health, system warnings, brought onto a single page with a clear hierarchy of what matters when something is wrong. The Dashboard is the operator view: plant KPIs, recent agent activity, alerts, announcements. A platform that runs on autonomous AI has to be readable for anyone to trust it.

app.rlcore.ai/diagnostics
RLCore Diagnostics. Server Status Online (Healthy), KPI tiles (CPU Average 81.65 %, Memory 51.05 %, Disk 81.65 %, DB Disconnected, Cores 25 active / 5 error / 1 disconnected), CPU Utilization Trend at 50.2 %, and per-core CPU Usage rows
Diagnostics CPU · cores · DB · per-agent health · warnings Engineering-side
app.rlcore.ai/dashboard
RLCore Dashboard, operator greeting, three suggestion cards (Create Connection, Diagnose Agents, Tag DBs), four KPI tiles (Optimize Agents, Stabilize Agents, Tag DB, OPC Connections), Agents Summary chart (COAG Dosing Agent OPEX in mint-green bars), and a System Update announcements rail with timestamped entries
Dashboard Plant KPIs · alerts · announcements · recent agents Operator-side
Outcome · launched · cohesive system · self-guided

Wireframe MVP in. Launch-ready platform out.

RLCore launched on the date that didn’t move, with a self-guided UX, a cohesive design system shipped alongside, and an interface that finally speaks the language of industrial control. Connection flow during the trial; TagDB, agents, diagnostics, and dashboard through the engagement. The team kept their launch and a foundation that holds up as the platform scales.

Book a free sprint
Pilot week · on us

Industrial AI or RL platform with a launch on the calendar? Start with the same free week we ran for RLCore.

Five working days, a senior product designer on the highest-friction surface in your platform, the same way we tackled RLCore’s connection flow. If it doesn’t click, keep every file we ship.

  • Capped at 4 sprints / month
  • No card · NDA on request
Next case study → Case 11 · Elkra · 2024

We design AI to think like a neurosurgeon.

An AI-powered white-label neurology platform, trained Copilot, ambient AI Scribe, unified patient surface. Cluttered MVP to AI-native platform in ~90 days.

~90 days MVP-to-AI revamp
Live White-label-ready
HealthTech · AI · Neurology Read →