MotiaDev/motia

π₯ The Unified Backend Framework That Eliminates Runtime Fragmentation π₯
APIs, background jobs, workflows, and AI agents in one system. JavaScript, TypeScript, Python, and more in one codebase.
π‘ Motia Manifesto β’ π Quick Start β’ π Defining Steps β’ π Docs
π― What is Motia?
Motia solves backend fragmentation.
Modern software engineering is splintered β APIs live in one framework, background jobs in another, queues have their own tooling, and AI agents are springing up in yet more isolated runtimes. This fragmentation demands a unified system.
Motia unifies APIs, background jobs, workflows, and AI agents into a single coherent system with shared observability and developer experience. Similar to how React simplified frontend development where everything is a component, Motia simplifies backend development where everything is a Step.
Write JavaScript, TypeScript, Python, and more in the same workflow. What used to take 5 frameworks to build now comes out of the box with Motia.
π Quickstart
Get Motia project up and running in under 60 seconds:
1. Bootstrap a New Motia Project
|
|
Follow the prompts to pick a template, project name, and language.
2. Start the Workbench
Inside your new project folder, launch the dev server:
|
|
Thatβs it! You have:
- β REST APIs with validation
- β Visual debugger & tracing
- β Multi-language support
- β Event-driven architecture
- β Zero configuration
π― Step Types
Type | Trigger | Use Case |
---|---|---|
api |
HTTP Request | REST endpoints |
event |
Topic subscription | Background processing |
cron |
Schedule | Recurring jobs |
noop |
Manual | External processes |
π― Examples
π ChessArena.ai - Full-Featured Production App
A complete chess platform benchmarking LLM performance with real-time evaluation.
Live Website β | Source Code β
Built from scratch to production deployment, featuring:
- π Authentication & user management
- π€ Multi-agent LLM evaluation (OpenAI, Claude, Gemini, Grok)
- π Python engine integration (Stockfish chess evaluation)
- π Real-time streaming with live move updates and scoring
- π¨ Modern React UI with interactive chess boards
- π Event-driven workflows connecting TypeScript APIs to Python processors
- π Live leaderboards with move-by-move quality scoring
- π Production deployment on Motia Cloud
π More Examples
Example | Description |
---|---|
AI Research Agent | Web research with iterative analysis |
Streaming Chatbot | Real-time AI responses |
Gmail Automation | Smart email processing |
GitHub PR Manager | Automated PR workflows |
Finance Agent | Real-time market analysis |
Features demonstrated: Multi-language workflows β’ Real-time streaming β’ AI integration β’ Production deployment
π Language Support
Language | Status |
---|---|
JavaScript | β Stable |
TypeScript | β Stable |
Python | β Stable |
Ruby | π§ Beta |
Go | π Soon |
π Resources
- π Documentation - Complete guides and API reference
- π¬ Discord - Community support and discussions
- π GitHub Issues - Bug reports and feature requests
- πΊοΈ Roadmap - Upcoming features and progress
π§ Roadmap
We have a public roadmap for Motia, you can view it here.
Feel free to add comments to the issues, or create a new issue if you have a feature request.
Feature | Status | Link | Description |
---|---|---|---|
Python Types | Planned | #485 | Add support for Python types |
Streams: RBAC | Planned | #495 | Add support for RBAC |
Streams: Workbench UI | Planned | #497 | Add support for Workbench UI |
Queue Strategies | Planned | #476 | Add support for Queue Strategies |
Reactive Steps | Planned | #477 | Add support for Reactive Steps |
Point in time triggers | Planned | #480 | Add support for Point in time triggers |
Workbench plugins | Planned | #481 | Add support for Workbench plugins |
Rewrite our Core in either Go or Rust | Planned | #482 | Rewrite our Core in either Go or Rust |
Decrease deployment time | Planned | #483 | Decrease deployment time |
Built-in database support | Planned | #484 | Add support for built-in database |
π€ Contributing
We welcome contributions! Check our Contributing Guide to get started.