Back to work
06 / Case study

VMC HMI

A focused industrial human-machine interface designed to guide a VMC operator through machine checks, tool verification, workpiece setup and operation readiness.

ReactTypeScriptSpring BootPostgreSQLHMIIndustrial Workflow

The problem

Before starting a machining operation, an operator needs to verify machine conditions, safety checks, required tools and workpiece setup. A general-purpose interface can expose unnecessary information and make this preparation workflow harder to follow.

The outcome

The HMI provides a controlled stage-by-stage workflow that guides the operator from machine checks through tool and workpiece verification to a final ready state and simulated operation.

The approach

I designed the system around a persistent HMI session and an explicit workflow state. React provides the operator interface, while Spring Boot exposes REST APIs and enforces the workflow rules. PostgreSQL stores the machine and session data.

React Operator HMI ↓ REST APIs ↓ Spring Boot controllers ↓ Service / workflow rules ↓ JPA / Hibernate ↓ PostgreSQL Machine Checks ↓ Required Tools ↓ Workpiece Setup ↓ Ready Review ↓ Operation

What I built

Machine readiness checklist
Safety condition verification
Emergency-stop verification
Guard / door verification
Active alarm check
Required tool confirmation
Tool identification
Workpiece setup confirmation
Material & drawing information
Clamping and datum setup
Ready-state review
Operation start / stop
Persistent HMI session state
Backend workflow validation
Responsive operator interface

Engineering decisions

The key architectural decision was to make the backend responsible for workflow validation. The frontend controls the operator experience, but the server determines whether the workflow is allowed to move to the next stage. This prevents the application from relying only on frontend button states for important business rules.