Skip to content

P-002 · 2026

Cubicle — self-hosted multi-agent AI office

An open-source AI office where agents live in a 3D React Three Fiber workspace, accept delegated tasks, stream live status, search the web, generate media, remember context, and take voice calls on infrastructure you own.

Role
Founder · solo engineer
Year
2026
Status
Open source
Outcome
10+ engines · 3D office · self-hosted
Next.js 16React Three FiberFastAPISocket.ioCeleryRedisPostgreSQLpgvectorLiteLLMTavilyWebRTCDocker

The problem

Most multi-agent tools leave the operator staring at terminal logs or a chat transcript. That makes it hard to understand who is working, what is blocked, where files landed, or whether the system is making progress. Cubicle turns the harness into a place: agents have desks, live status, task context, memory, files, and a direct line back to the person running the office.

Architecture

Interactive system view

See the product from purpose to implementation.

Follow the work, then switch views when you want the practical answer: who it is for and what it is built with.

Flow pausedStep 01 / 06

Step 01 of 06

A Next.js 16 frontend renders…

A Next.js 16 frontend renders the office with React Three Fiber while ordinary panels handle onboarding, agents, tasks, chat, settings, files, and mobile/PWA access. Zustand holds scene/UI state; TanStack Query handles server state; Socket.io keeps agent activity live without polling.

Full system map

The grouped dependency view stays visible so the infrastructure is readable at a glance.

System map

How the pieces connect

Cubicle separates the experience layer from the execution layer. The Next.js/React Three Fiber office and Socket.io events make state visible; FastAPI owns the authenticated control plane; Redis and Celery absorb long-running work; PostgreSQL is the durable record; pgvector gives each agent searchable memory; and the engine registry routes tasks to CLI or LiteLLM-backed providers. Docker Compose, Caddy, coturn, and a host-mounted workspace complete the self-hosted boundary.

Outcome

  • Open-source and self-hosted through Docker Compose, with a 3D office that makes multi-agent state visible.
  • 10+ CLI and API engine paths behind one registry instead of one hard-coded model provider.
  • Live task, agent, chat, and social events over Socket.io, backed by Celery workers and Redis.
  • Persistent semantic memory, host-visible workspaces, web search, media tools, PWA access, and voice-call scaffolding in one system.

Lessons learned

  • A visual workspace is observability: the office makes queue state, agent presence, and progress legible at a glance.
  • The engine boundary is the product's long-term leverage. New providers should implement one interface rather than leak provider logic across tasks and UI.
  • Real-time state needs a durable source of truth underneath it. Socket events make the interface feel alive, but PostgreSQL remains the record of what happened.
  • Self-hosting makes file paths, secrets, reverse proxies, device pairing, and TURN networking product concerns—not deployment afterthoughts.