Platform v2.0 — Everything is a Runner

Industrial IoT.
Unified.

Real-time device collection, formula-based math linkers, AI agents with ReAct loop — all on a unified node tree over Redis Streams.

$ docker compose up -d
Everything is a Runner
Modbus, AI, Alarms, GenUI — every subsystem communicates over Redis Streams. No special cases.
AI-First Architecture
The AI agent is a first-class participant — it queries, controls, and reasons over any node with full audit trail.
Schema-Driven
Every node, runner, and action has a machine-readable schema. The UI generates itself from the schema.
Capabilities

Everything you need for industrial IoT

From device polling to AI-driven automation — all in one platform.

Real-time Collection
Modbus RTU/TCP polling with configurable intervals. Values stream through Redis and are available to every subscriber instantly.
modbus · rs-485 · redis-streams
Math Linkers
Formula Engine Language (FEL) for live transformations — windowed aggregations, correlations, and wavelet analysis, all as live nodes.
FEL · windows · wavelets
🤖
AI Agent
ReAct loop AI with MCP tools and multi-provider support. The agent queries any node, triggers actions, and generates analytical reports.
ReAct · MCP · multi-LLM
🔔
Alarm Engine
Rule-based alarm evaluation with state machine, escalation policies, email, and FCM push notifications for critical events.
rules · escalation · FCM
📈
History & Analytics
InfluxDB 3 time-series storage with continuous aggregates, cold storage tiering, and AI-generated PDF analytical reports.
InfluxDB3 · TimeSeries · PDF
🎨
GenUI
Dashboards generated from JSON Schema at runtime. Change the schema, the Flutter UI updates instantly — no frontend redeploy.
JSON Schema · Flutter · GenUI
linker — node tree
$ linker tree /
# System Resources
/sys/hardware/cpu        usage: 42.1%
/sys/hardware/memory    free8.2 GB
/sys/runners/modbus-01  status: running
# Device Data
/data/plant-a/meter/U   value: 230.4 V
/data/plant-a/meter/I   value: 12.8 A
/math/power/active      exprU*I*cos(φ)
# Alarms
/alarms/overvoltage     state: normal
/alarms/high-temp       state: ⚠ active
# AI
/ai/agent               status: idle
$
Architecture

One node tree.
Infinite composability.

Every data point, runner, alarm, and AI result lives as a node in a unified tree accessible over Redis Streams. Subscribe to any path, trigger any action — from Flutter UI, REST, or AI agent.

Composable Pipelines — chain runners to build data flows from primitives
Audit Everything — every action (human, AI, runner) logged in immutable audit trail
Permission Engine — fine-grained access control per node path via Serverpod
Docker-native — deploy with a single `docker compose up`

Ready to connect your infrastructure?

Deploy Linker in minutes. Start collecting data from your devices today.