You start building a backend and immediately need six different tools: an API framework, a task queue, a cron scheduler, pub/sub, a state store, and an observability pipeline. Each has its own config, its own deployment, its own failure modes. A simple "process this, then notify that" workflow touches three services before you write any business logic.
iii replaces all of that with a single engine and three primitives: Function, Trigger, and Worker.
A Function is anything that does work. A Trigger is what causes it to run - an HTTP request, a cron schedule, a queue message, a state change. A Worker connects your functions to the engine. You write the function, declare what triggers it, connect a worker, and the engine handles routing, retries, and observability.
One config file. One process. Everything discoverable. Think of it the way React gave frontend a single model for UI - iii gives your backend a single model for execution.
These primitives result in an execution model and system traits that make iii unreasonably good at creating backend software:
Execution model — Durable orchestration across workers and triggers. Interoperable execution across languages as if it were one runtime. Simple primitives that collapse distributed backend design into a paradigm humans and agents can reason about.
Live system traits — Functions and triggers exposed by one worker become visible and usable across the system in real time (live discovery). Add new workers and capabilities to a live iii system without redesigning the architecture (live extensibility). Observe operations, traces, and system behavior across the entire connected stack in real time (live observability).
| Concept | What it does |
|---|---|
| Function | A unit of work. It receives input and optionally returns output. It can exist anywhere: locally, in the cloud, on serverless, or as a third-party HTTP endpoint. |
| Trigger | What causes a Function to run - explicitly from code, or automatically from an event source. Examples: HTTP route, cron schedule, queue topic, state change, stream event. |
| Worker | The runtime that connects your functions and triggers to the engine. Workers register and deregister themselves without configuration. Once connected, their functions are available across the entire backend. |
Get started with iii by following the Quickstart guide.
| Language | Package | Install |
|---|---|---|
| Node.js | iii-sdk |
npm install iii-sdk |
| Python | iii-sdk |
pip install iii-sdk |
| Rust | iii-sdk |
Add to Cargo.toml |
Give your AI coding agent full context on iii:
npx skills add iii-hq/iiiSkills covering every iii primitive — HTTP endpoints, queues, cron, state, streams, custom triggers, and more. Works with Claude Code, Cursor, Gemini CLI, Codex, and 30+ other agents. See skills/ for the full list.
The iii-console is a developer and operations dashboard for inspecting functions, triggers, traces, and real-time state. See the Console docs for setup and usage.
| Directory | What it is | README |
|---|---|---|
engine/ |
iii Engine (Rust) - core runtime, modules, and protocol | engine/README.md |
sdk/ |
SDKs for Node.js, Python, and Rust | sdk/README.md |
console/ |
Developer dashboard (React + Rust) | console/README.md |
frameworks/ |
Higher-level frameworks built on the SDK | frameworks/motia/ |
skills/ |
Agent skills for AI coding agents | skills/README.md |
website/ |
iii website | website/ |
docs/ |
Documentation site (Mintlify/MDX) | docs/README.md |
See STRUCTURE.md for the full monorepo layout, dependency chain, and CI/CD details.
See the Quickstart guide for step-by-step tutorials.
The iii project uses a dual licensing model:
| Directory | License |
|---|---|
engine/ |
Elastic License 2.0 |
sdk/ |
Apache License 2.0 |
cli/ |
Apache License 2.0 |
console/ |
Apache License 2.0 |
frameworks/ |
Apache License 2.0 |
docs/ |
Apache License 2.0 |
website/ |
Apache License 2.0 |
The engine runtime is licensed under the Elastic License 2.0 (ELv2). All SDKs, frameworks, CLI, console, documentation, and the website are licensed under the Apache License 2.0.
See NOTICE.md for details.
