Skip to content
Back to work

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