MADE WITH LOVE IN
MELBOURNE

Local-first orchestration for coding agents.

Turn SlackSlack pings and LinearLinear tickets into planned, agent-built, reviewed, shipped work.

Claude
OpenCode
Codex
Totus interface

See everything

Tokens, agents, deploys, diffs, plans — live. Not just terminal output.

Triage to deploy

Slack pings and Linear tickets become plans, then code, then shipped PRs. One workspace.

Multi-provider

Claude Code, OpenCode, Claude SDK. Swap providers per thread, keep your MCP servers.

Self-hosted

Runs on your machine. SQLite. OAuth tokens auto-refresh. No credentials leave your laptop.

why a GUI

What the terminal can't show you.

MCP servers 5/6
GitHub 21 tools
Linear 12 tools
Slack 9 tools
Figma 8 tools
Supabase 5 tools
Sentry authenticate

MCP servers

Toggle, reconnect, authenticate. All in one panel.

tokens live
43% used
context window 86,000 / 200,000
input 12,408
output 73,591
cost $0.28

Token tracking

Context window, in/out tokens, cost estimate. Live.

Vercel Deploy
fix auth token refresh
Production main 2m
rate limiting edge case
Preview feat/rate-limit now
dark theme overhaul
Preview refactor/theme 1d

Deploys

Trigger Vercel deploys and watch Production & Preview status — live.

Plan 3 / 7
  • Parse SSE events from OpenCode
  • Map to orchestration activities
  • Fix cumulative token accounting
  • Surface permission requests in UI
  • Add tests for new mapper

Plan view

Agent's todo list, inline. Track progress in real time.

Working 2m
fix auth token refresh
feat/auth-refresh · worktree
Open PR 1h
rate limiting edge case
feat/rate-limit · PR #48
Merged 1d
dark theme overhaul
refactor/theme · merged
Merged 2d
MCP sidebar: show-more toggle
feat/mcp-sidebar · merged

Thread history

Every session persisted. Checkpoints, replays, PR status.

claudeCode claude-opus-4-7
claudeCode claude-sonnet-4-6
claudeAgent claude-sonnet-4-6
opencode gpt-4o
opencode claude-sonnet-4-6
codex gpt-5-codex soon

Provider switching

Claude, OpenCode, SDK. Swap without config changes.

The same principle, extended — now steer the project, not just the code.

orchestration New

From signal to shipped.

Triage what's coming in, plan it in a read-only thread, then hand it to a Code thread to build. One workspace, no tab-hopping.

1 Triage

Catch every signal

Slack mentions and assigned Linear tickets land in one board, grouped by status.

Linear

Auth token expires mid-session

TOT-21 assigned to you
Slack

@here can we ship the export fix?

#eng mention · 4m
Linear

Rate-limit the OAuth refresh calls

TOT-27 assigned to you
Linear

Wire OAuth refresh into the auth layer

TOT-19 you · 12m
Linear

Billing webhook retries keep failing

TOT-18 in review
Slack

Dedupe Slack mention threads

#eng shipped · 4h
Linear

Triage board polish

TOT-12 merged · 1d
2 Plan

Draft it read-only

The orchestrator reads your code, Slack, and Linear and drafts a plan. It writes back to Slack and Linear — repo edits happen later, in Code.

Plan generated by orchestrator

Fix expiring auth sessions

  • Reproduce the token expiry on a long session
  • Add refresh-on-expiry in the auth layer
  • Hand off to a Code thread to implement
from Slack Linear read-only
3 Hand off

Ship it in Code

Turn the plan into a Code thread — where approvals, diffs, and git do the actual shipping.

Working 2m
fix auth token refresh
feat/auth-refresh · worktree
Open PR 1h
rate limiting edge case
feat/rate-limit · PR #48
Merged 1d
dark theme overhaul
refactor/theme · merged
Merged 2d
MCP sidebar: show-more toggle
feat/mcp-sidebar · merged
scope New

Three domains. One workspace.

code

Code

Claude Code · OpenCode · Claude SDK

Write, review, ship. Full agent orchestration with approvals, diffs, and git.

marketing

Marketing

content · copy · campaigns

Draft copy and iterate on messaging. Same approval workflows.

knowledge

Knowledge

triage · plan · hand off

A read-only PM orchestrator. Triage Slack & Linear, plan in generative cards, and hand work to Code — without touching the repo itself.

connect your stack

Wired into where work lives.

Slack
Slack DMs, mentions & activity
Linear
Linear tickets & assignments
More integrations coming

Per-workspace OAuth. Tokens refresh themselves.

surfaces

Long sessions. Full control.

Pending approval 1 / 2
File-change requested
Write apps/server/src/provider/ClaudeCodeAdapter.ts
human-in-the-loop

Approve, deny, move on.

Permissions and questions get their own panel. Answer once, resume.

child agents 2 running · 2 done
  • code-reviewer running
  • type-design-analyzer running
  • silent-failure-hunter done
  • pr-test-analyzer done
orchestration

Sub-agents, visible.

Every child agent gets a live status row. See what’s running.

Plan generated by orchestrator

Fix expiring auth sessions

  • Reproduce the token expiry on a long session
  • Add refresh-on-expiry in the auth layer
  • Hand off to a Code thread to implement
from Slack Linear read-only
read-only planning

Plan without touching the repo.

The Knowledge orchestrator reads code, Slack, and Linear and writes plans back to Slack and Linear. Repo edits stay in Code threads.

Slack acme workspace
connected
Linear acme · auto-refreshed
connected
reliability

Stays connected.

Per-workspace OAuth with auto-refresh. Expired tokens renew themselves — no reconnect dance mid-session.

Working 2m
fix auth token refresh
feat/auth-refresh · worktree
Open PR 1h
rate limiting edge case
feat/rate-limit · PR #48
Merged 1d
dark theme overhaul
refactor/theme · merged
Merged 2d
MCP sidebar: show-more toggle
feat/mcp-sidebar · merged
memory

Shared memory, all projects.

Preferences carry across repos. No manual config.

Try it.

Alpha. Expect bugs. File them on GitHub — that's how this moves.

Download Open-source coming soon