Skip to main content

Documentation Index

Fetch the complete documentation index at: https://motiadev-chore-content-updates-2.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

The Problem

Software engineering has become an exercise in assembling categories of services. Each service arrives with its own internals, its own lifecycle, its own integration story, and its own failure modes. Four services means 6 possible integrations. Twenty means 190. Every new capability quadratically compounds the coordination cost of everything already in your stack. This pattern has been growing for decades.

The Solution

iii organizes software into three primitives: Worker, Trigger, Function. Something hosts work, something causes it, something does it. Every capability in every system can be built with these three things. It doesn’t matter if it’s queues, cron, streaming, sandboxing, observability, agents, business logic, devices, or even frontend browser UIs. Everything can be represented as workers, triggers, and functions.

Quadratic to Linear

The integration problem doesn’t just manifest at the point where two systems connect. It also creates downstream friction in logging, debugging, and upgrading as well as upstream friction blocking growth initiatives, new verticals, and partnerships. iii reduces all of this effort to zero. Adding 2 workers or 200 workers is exactly the same. A new worker joins the system by opening a single WebSocket connection and becomes immediately available to every other worker at that moment.

Have a Need? Add a Worker

Need a queue? Add a worker. Need real-time streaming, scheduling, sandboxing, observability, an agent, a CRM integration, a browser tab as a first-class participant? Add a worker. Some workers are deterministic code. Some are stochastic agents. Most real systems are a mix. The semantics live in the functions, not in the category. iii worker add is the npm moment for systems. What you install is not a library — it is a running participant. A queue worker. A sandbox worker. A classifier. One command, complete capability, immediately available to every other worker in the system.

Same Contract, Both Sides

Application teams register functions and declare triggers, focused entirely on business logic. Platform teams publish workers, focused entirely on the capabilities they provide. Both sides fulfill the exact same contract. No bespoke SDKs, no internal client libraries, no per-service API contracts. The work that used to live between teams disappears.

Any Language, Any Runtime

A worker in Docker, on Kubernetes, on the edge, in a browser tab, on a Raspberry Pi, or inside a hardware-isolated microVM is the same kind of worker. Moving a workload is a redeploy, not a rewrite. The engine handles serialization and routing.

Built for Agents

Humans and agents share one mental model. A new engineer is productive on day one because their mental model never changes from one capability to the next. AI agents can reliably reason about an entire system in a single context window because there is one set of primitives to learn and one always-accurate source of truth for what exists. Agents are workers. An agent’s tools are functions. Its memory is state. Its orchestration is triggers. An agent that hits a task outside its current capabilities can register a worker at runtime and use its functions immediately. This is the difference between scripted LLM calls and real autonomy. As agents do more of the work of building and operating software, small primitives compound: easier to onboard, cheaper to prompt, faster to extend, simpler to maintain.

Getting Started

The best way to understand iii is to try it. Install iii and follow the Quickstart to create your first iii-powered project.

Install

Install the iii engine.

Quickstart

Follow the Quickstart and explore a live iii application.