iii
iii is an open-source runtime that collapses distributed backend complexity into three primitives — Worker, Trigger, and Function — enabling any language to compose, extend, and observe services in real time.
At a Glance
Self-hosted iii engine and SDKs, free to use under ELv2 (engine) and Apache 2.0 (SDKs, console, docs).
Engagement
Available On
Alternatives
Listed Jun 2026
About iii
iii (pronounced "three eye") is an open-source software engineering runtime built by Motia LLC that eliminates the quadratic integration complexity of modern backend systems. Instead of evaluating, procuring, and integrating each new service separately, iii organizes every capability around three primitives: Worker, Trigger, and Function. The project is hosted at github.com/iii-hq/iii and the GitHub repository reports 17,679 stars and 1,166 forks as of mid-2026.
What It Is
iii is a polyglot runtime engine that lets developers compose distributed systems from workers — any process (Node.js, Python, Rust, Go, or others) that registers with the iii engine. Workers expose functions with stable identifiers (e.g., content::classify, orders::validate) and declare triggers (HTTP endpoints, cron schedules, queue subscriptions, state changes, stream events). The engine handles serialization, routing, discovery, and observability across all connected workers. The result is a single mental model that works whether you are adding a queue, a sandbox, an agent harness, or a CRM integration: iii worker add <capability>.
The Three-Primitive Architecture
The entire system is built on three concepts:
- Worker — any process that joins the iii engine. TypeScript APIs, Python pipelines, Rust microservices, browser tabs, Raspberry Pi processes, and hardware-isolated microVMs are all the same kind of worker.
- Trigger — anything that causes a function to run: HTTP, cron, queue subscription, state change, stream event, or a direct call.
- Function — a named unit of work (e.g.,
ml::predict) that receives input, does work, and optionally returns output.
Adding a new worker takes a single connection. Every other worker is notified and can call its functions immediately, reducing what the manifesto describes as O(n(n-1)/2) integration edges to zero.
Built-In Observability and the Console
iii ships a developer and operations console (React + Rust) that surfaces workers, functions, triggers, queues, traces, logs, and real-time state in one place. OpenTelemetry is native to the wire protocol, so every span across every language appears in a single trace view without additional configuration. The console also exposes a live WebSocket stream monitor, a key-value state store browser, queue backpressure metrics, and structured severity-coded logs linked to trace IDs.
Agent-Native Design
The docs describe iii as "inherently agentic" because agents run on the same runtime as the rest of the system rather than in a separate harness. An agent is a worker; its tools are functions; its memory is state; its orchestration is triggers. An agent that encounters a task outside its current capabilities can register a new worker at runtime, discover its functions, and call them immediately — the same interface a developer uses. The worker registry at workers.iii.dev lists pre-built workers that can be added with iii worker add.
Language and Deployment Support
SDKs are available for Node.js (iii-sdk on npm), Python (iii-sdk on PyPI), and Rust (iii-sdk on crates.io). The engine is written in Rust. Workers can run in Docker, on Kubernetes, on the edge, in a browser tab, on a Raspberry Pi, or inside hardware-isolated microVMs — moving a workload is a redeploy, not a rewrite.
Update: iii 0.18.0
The latest release is iii v0.18.0, published on 2026-06-03. The repository was created in January 2025 and has been actively pushed to as recently as June 2026. The engine is licensed under the Elastic License 2.0 (ELv2); the SDKs, CLI, console, documentation, and website are all Apache License 2.0. Because the core engine uses ELv2 rather than an OSI-approved open-source license, the project occupies a source-available rather than fully open-source position, though the SDKs and tooling are fully open.
Community Discussions
Be the first to start a conversation about iii
Share your experience with iii, ask questions, or help others learn from your insights.
Pricing
Open Source
Self-hosted iii engine and SDKs, free to use under ELv2 (engine) and Apache 2.0 (SDKs, console, docs).
- Full iii engine (Rust, ELv2)
- SDKs for Node.js, Python, Rust (Apache 2.0)
- Developer console (Apache 2.0)
- Worker registry access
- Community support via Discord and GitHub
Capabilities
Key Features
- Three-primitive model: Worker, Trigger, Function
- Polyglot runtime — Node.js, Python, Rust, Go workers on one system
- Live worker discovery and real-time function catalog
- Native OpenTelemetry tracing across all languages
- Developer and operations console (React + Rust)
- Built-in queue, cron, HTTP, state, streams, and WebSocket triggers
- Agent-native design — agents are workers using the same protocol
- Worker registry with installable pre-built workers (workers.iii.dev)
- Durable key-value state store
- Structured logs with severity coding and trace linking
- iii worker add — one command to add a complete running capability
- Cross-language function calls with engine-handled serialization
- Live extensibility — add workers to a running system without redesign
- Agent skills reference material (npx skills add)
- Docker and Kubernetes deployment support