> ## Documentation Index
> Fetch the complete documentation index at: https://motiadev-add-real-system-tutorial-round-2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Welcome to iii

> A next-generation software system that makes it possible to effortlessly compose, extend, and observe every service in real-time for the first time ever.

## The Problem

Each service in a modern system arrives with its own internals, its own lifecycle, its own
integration story, and its own failure modes. Four services means six possible integration edges.
Twenty means 190.

What we mean by edges is that every new integration brings with it cross-system interactions. For
example the addition of an agentic harness includes not just a single integration point with your
current system but the numerous downstream consumers of it.

Every new capability quadratically compounds the coordination cost of everything already in your
stack.

## 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 from
these three things: queues, cron, streaming, sandboxing, observability, agents, business logic,
devices, even frontend browser UIs.

## Quadratic to Zero

The integration problem doesn't only manifest where two systems connect. It creates downstream
friction in logging, debugging, and upgrading, and upstream friction that blocks growth initiatives,
new verticals, and partnerships.

iii reduces all of that effort to zero. Adding two workers or two hundred is the same operation. 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 participating as a worker? Add a worker. Some workers are
deterministic code. Some are stochastic agents.

`iii worker add` is the npm moment for systems. What installs is not a library. It is a complete
running service. 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 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

Most agent harnesses solve one slice of the problem: a chat loop, a tool-calling sandbox, a chained
workflow. iii is not a harness for agents. Instead it functions better than a harness because it is
the same runtime the whole system already runs on. This makes iii inherently agentic. In iii an
agent is a worker and can (with permission) act on every part of the system, not inside a runtime
created separately for agents.

Agents are workers. An agent's tools are functions. Its memory is state. Its orchestration is
triggers. The agent does not call out to a separate "agent runtime" to do work. The runtime is the
rest of the system. An agent that hits a task outside its current capabilities can register a worker
at runtime, expose new functions, and extend the system it operates inside. That is what makes iii
different.

Humans and agents share one mental model. A new engineer is productive on day one because the 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.

As agents do more of the work of building and operating software, the size of that primitive set is
what compounds: 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 the engine and follow the Quickstart to create
your first iii-powered project.

<CardGroup cols={2}>
  <Card title="Install" href="./install" icon="download">
    Install the iii engine.
  </Card>

  <Card title="Quickstart" href="./quickstart" icon="terminal">
    Follow the Quickstart and explore a live iii application.
  </Card>
</CardGroup>
