Göktürk GöçenEngineer · Cross-field
One hundred machines, one quiet screen
--:--:-- +03Izmir 38.42°N

RobodorSCADATerminal

About the project

Robodor builds industrial door controllers. I built the company's SCADA viewer: a desktop application that monitors up to ~100 controller cards, running entirely on the factory LAN with no cloud dependency. Operators get live card status, detail views for individual controllers, alarms, and a history with an audit trail. The system is read-only by design — it watches the equipment, it never commands it. I designed and built the whole thing alone, from the polling service to the interface, in 2026.

TECHNICAL READOUTPRJ_01
Fleet size~100 controller cards
TransportModbus TCP · RS485
TopologySingle polling service → snapshot diff → WebSocket fan-out
PersistenceSQLite history + audit trail
Network postureLAN-only · read-only · no cloud dependency
The engineering

The architecture centers on a single polling service: one Node.js process owns all Modbus communication, over both TCP and RS485, and is the only thing that talks to the controller cards. On each cycle it compares new readings against the previous snapshot and pushes only the diffs over WebSocket to the UI — with up to ~100 cards, sending full state every cycle would be wasteful. History and the audit trail are written to SQLite. The interface is a Tauri desktop app in React and TypeScript: live card detail views, alarms, and deliberately operator-focused UI states. It is read-only monitoring and runs entirely on the factory LAN, with no cloud dependency anywhere in the stack.

Role
Design & development — end to end, solo
Services
  • DESKTOP APP
  • PROTOCOL INTEGRATION
  • REAL-TIME DATA PIPELINE
  • OPERATOR UI
  • AUDIT & HISTORY
Stack
TauriReactTypeScriptNode.jsWebSocketSQLiteModbus TCPRS485
More work