03 — Case study
loom
Streaming chat with reasoning, MCP servers, skills, subagents, and computer use — plus Atelier, which lets the model edit its own harness.
· Tauri 2 · Rust · React 19 · MCP · Tailwind
The problem
AI chat tools live in the browser, forget everything between sessions, and can't touch your machine. Agent harnesses exist, but they're either closed products or a pile of scripts — nothing you can both live in and reshape.
What I built
Loom is a desktop app for AI chat and agents: streaming chat with reasoning, attachments, tools with permission modes, MCP servers, skills, image generation, and subagents — wrapped around a coding workspace with semantic search, slash commands, and a live goal panel. Atelier goes one further: it lets the model edit its own harness — personas, MCP servers, skills, prompts, providers, and settings.
How
- Tauri 2 shell with a Rust engine (loom-core) — providers including OpenCode Go/Zen, with usage and subscription limits surfaced in the UI.
- Tools with permission modes, shell commands run windowless, and long runs tracked in a stoppable Runs panel.
- Computer use on Windows with a hard stop hotkey, and screenshots that land in the transcript.
- A docking shell: chat, coding workspace, browser, and goal/task panel in one window.
- Signed updater and a bespoke glass installer, launching at login with a hotkey overlay and tray.
Result
Feature-complete v0.1: a daily-driver agent desktop that I actually use to build everything else on this page.
What I learned
The harness is the product. Once the model can check off its own goals, edit its own tools, and be stopped with one hotkey, the chat window stops being a demo and starts being a workplace.
Stack
- Tauri 2
- Rust
- React 19
- MCP
- Tailwind