A multi-language backend framework that unifies APIs, background jobs, queues, workflows, streams, and AI agents with a single core primitive (Step), featuring built-in observability and state management. Supports TypeScript, Python, and JavaScript under Apache-2.0 license.
Overview#
Motia is an innovative multi-language backend framework with a core philosophy of unifying all backend patterns into a single primitive: the Step. Each Step is a file containing configuration (config) and a handler, which Motia automatically discovers and connects without manual registration or boilerplate code.
Core Capabilities#
- HTTP APIs: REST endpoints with validation and routing
- Background Jobs: Async message processing with retry mechanism
- Scheduled Tasks: Cron-based scheduled tasks
- Reactive Workflows: Reactive workflow orchestration
- AI Agents: Agent-based workflows with streaming output and tool calling
- State Management: Built-in key-value store with atomic updates
- Real-Time Streaming: Real-time updates via WebSocket
- Observability: Out-of-the-box structured logging, distributed tracing, and metrics
Trigger Types#
| Type | Description | Use Case |
|---|---|---|
http | HTTP request trigger | REST endpoints |
queue | Queue subscription trigger | Background processing |
cron | Scheduled trigger | Periodic tasks |
state | State change trigger | State management |
stream | Stream subscription trigger | Real-time stream processing |
Language Support#
- JavaScript ✅ Stable
- TypeScript ✅ Stable
- Python ✅ Stable
- Ruby 🚧 Beta
- Go 🔄 Soon
Runtime Architecture#
- iii Engine (written in Rust): Manages queues, state, streams, cron, observability
- Node.js 18+: Required for TypeScript/JavaScript Steps
- Python 3: Optional, for Python Steps
Reliability Features#
- Automatic Retries
- Queue Infrastructure Abstracted (built-in queue, no external message broker needed)
- Event-driven Core
- Shared State Handling (state consistency in distributed workflows)
- Atomic Execution (atomic operations ensure data safety)
Step File Convention#
Motia auto-discovers files with these suffixes:
.step.ts(TypeScript).step.js(JavaScript).step.py(Python)
Installation#
# Install iii engine
curl -fsSL https://install.iii.dev/iii/main/install.sh | sh
# Install CLI via Homebrew
brew tap MotiaDev/tap
brew install motia-cli
# Create project
motia-cli create my-app
Official Examples#
- ChessArena.ai: Complete chess platform for LLM benchmarking
- AI Research Agent: Web research and iterative analysis
- Streaming Chatbot: Real-time AI responses
- Gmail Automation: Intelligent email processing
- GitHub PR Manager: Automated PR workflows
- Finance Agent: Real-time market analysis
Recognition#
- Featured in Vercel OSS 2025
- JavaScript Rising Stars 2025 #1 Back-end/Full-stack
Design Philosophy#
- Code as Config: Define infrastructure and workflows in code
- Auto-discovery: Automatic Step file discovery, no boilerplate
- Single Primitive: All backend patterns unified to the Step primitive