
What it is
Loom is a single FastAPI backend that turns any of 400+ LLMs (via OpenRouter) into a tool-using agent: one that searches the web, scrapes pages, and runs calculations autonomously in a streaming, multi-step loop. On top of that agent sits a visual workflow builder: a drag-and-drop canvas where tool calls become nodes in a DAG, so multi-step automations can be built without writing code.
The same backend powers three different clients, proving out one API across three very different runtimes: a React + TypeScript + Vite web app, a Go + Bubble Tea terminal UI, and a VS Code extension.
Architecture
Rendering diagram…
Highlights
- Agentic tool-calling loop: the model decides when to search, scrape, or calculate, reconstructing streamed tool-call deltas server-side and looping until it's done (up to 15 iterations).
- Visual workflow builder: a React Flow canvas plus a Python topological-sort executor that lets you chain tools into a pipeline with node-to-node data references (
{{node_1.result}}), like a lightweight Zapier for your own tools. - Auto-discovering tool registry: drop a decorated Python function into
backend/tools/, and it's live for the agent on next restart. No registration step. - 400+ models, one interface: GPT, Claude, Gemini, Llama, Mistral, and image-generation models, all through a single OpenRouter integration with automatic model-type detection.
- Persistent history: every conversation, message, and tool call is stored in PostgreSQL with full analytics (execution time, status, tags).
- One backend, three clients: the web app, TUI, and VS Code extension all talk to the same
/api/chatSSE stream.
Screenshots
Workflow builder canvas
Visual workflow builder: chain tools into a DAG, wire node outputs into downstream inputs with {{node_id.field}} references, and execute the whole pipeline in one click.
Chat with live tool calls
Agentic chat: the model calls web_search and scrape_webpage on its own, streaming each tool call and its output inline.
Chat with syntax-highlighted code explanation
Streamed code explanations: full syntax highlighting and structured, numbered breakdowns for code walkthroughs.
Tech stack
| Layer | Technology |
|---|---|
| Backend | Python 3.11+, FastAPI |
| Web frontend | React 18, TypeScript, Vite |
| Terminal UI | Go 1.21+, Bubble Tea |
| Editor integration | VS Code extension (TS host + React webview) |
| Database | PostgreSQL |
| Models | 400+ via OpenRouter |