iii is a service composition engine that enables developers to build distributed systems by composing workers, functions, and triggers into a shared runtime.
The tool addresses the complexity of integrating multiple backend services by eliminating point-to-point integrations. Instead of each service managing its own connections to queues, cron jobs, HTTP endpoints, state management, and observability, iii provides a unified runtime where workers automatically discover and call each other. When a worker is added to the system, other workers are immediately notified and can invoke its functions without additional configuration. This approach extends to agent capabilities: when an agent encounters a task requiring functionality the system lacks, it can dynamically add a new worker, discover its available functions, call them, and trace execution through the same interface developers use manually.
The tool suits teams building microservice architectures or agent-based systems who want to reduce integration overhead and gain real-time visibility across their stack. It provides SDKs for JavaScript, Python, and Rust, allowing services to be written in multiple languages while remaining part of the same composed system. The mental model is intentionally minimal: workers expose functions that can be triggered by various event sources, and that simplicity is the entire abstraction.
Almost all open issues are raised by outside users rather than the core team, indicating a substantial base of adopters reporting real-world use. Maintainers typically respond to new issues and pull requests within a day. Work in the issue tracker is dominated by bug, enhancement, and high-priority labels.