All projects

A first-person 3D office where I hire, manage and talk to my Claude Code, Cursor and Antigravity coding agents.

Year
2026
Type
Tool
Stack
  • TypeScript
  • three.js
  • Node.js
  • Claude Agent SDK
  • MCP
  • WebSocket
  • Swift
  • Vite
Agent Office

Agent Office is the tool I run my own AI workflow from. Instead of juggling terminals, every coding agent I use becomes an engineer in a first-person 3D office: they get a name, a personality and a desk, every project gets its own room, and when someone needs me they walk up and raise a hand.

Features

  • Hire a team: Hire Claude Code, Cursor or Antigravity engineers with any model and effort level, each with a generated identity and a blocky avatar.
  • A room per project: Projects get a focus studio, a pod or a bench on the floor, closer to my office the more they're used.
  • They come to you: Questions raise a hand, permission requests light a beacon and finished work shows a check, backed by native macOS notifications.
  • Task boards: Engineers pick up ready tasks by themselves, split big ones into a plan for my OK, and hand in work that merges with one click.
  • Worktrees, done for you: A setup engineer works out how to run a project in parallel, then every engineer gets their own branch and ports.
  • Usage and costs: Plan limits for Claude Code and Cursor, spend per turn, engineer and project, and automations that hold, hand over or switch models as limits get close.
  • Shared memory: What the team learns lands in plain Markdown notebooks, filed by a librarian agent and read by every engine alike.
  • Push to talk: Hold T, look at an engineer and just say it; voice can answer questions and permission requests too.
  • Server room: Live vitals of the Mac and every Docker container, rendered as racks of blinking blades.
  • Mac companion: A native Swift app for notifications, a menu bar overview and a Spotlight-style quick send bar.

Technical Details

A Node.js HTTP + WebSocket server drives the agents: Claude Code through the Claude Agent SDK (streaming input, permission callbacks and an in-process MCP server), Cursor and Antigravity through their CLIs' stream-json modes. The office's own tools for teamwork, tasks and memory are exposed to every engine over MCP. The client is a three.js world built with TypeScript and Vite, state lives in JSON and append-only JSONL transcripts, and a native Swift companion handles notifications and quick send.

Next projectLattice