For the curious.
BrainBoxx is deliberately small: a native app, a tiny daemon on each machine, and a relay that keeps nothing. No magic, no cloud you have to trust. Here's exactly what's going on.
The shape of it
Three pieces, and only three:
bb) owns a pseudo-terminal per BrainWhen you open a Brain, the daemon spawns the AI inside a PTY it owns and streams the raw bytes — over TLS, through the relay — to a real terminal on your phone. Type on either end; it's one shared session, not a copy. The relay never inspects or stores anything; it just brokers the two sides. That's the reason a phone on cellular can reach a laptop behind home NAT: both ends dial out to the relay, which pumps bytes between them.
Machine › Folder › Brain
One clean hierarchy. A machine is your Mac, a server, a droplet. A Folder is any directory the daemon watches. Every project inside it is a Brain — a live or dormant AI session, not a stateless folder. Which AI it is (Claude / Gemini / Codex / Grok) is auto-detected from the folder's contents, and drives the branding and how we read "is it waiting for you."
Continuity — without storing your conversations
This is the part that matters, and it's why we can say "no cloud" with a straight face: we don't keep your conversations — the transcript is the AI's own file, on your disk. A Brain that stops running goes dormant; opening it again resumes the exact same session by id, straight from that transcript. Kill the daemon, reboot the machine, cross an ocean — reopen and you're mid-thought. Because the transport is a plain byte stream and the state lives with the agent, there's nothing fragile in the middle to break.
Any agent, not just Claude
The transport is a raw PTY byte stream, so any CLI works — Claude Code, Gemini, Codex, Grok, or something you wrote yourself. The colour-coding and the working / needs-you status are presentation only; the pipe underneath doesn't care what's running. Agnostic by default, branded and smart when it recognises a tool.
Always current — nothing to update by hand
Two things keep themselves up to date, quietly. The daemon updates itself across your whole fleet — pair a machine once and it tracks every release from then on. And it keeps the AI CLIs current too: Claude, Gemini, Codex and Grok get updated in the background, so their "update available" banner never turns into a permanent fixture in your terminal. It never interrupts anything — a running Brain finishes on the version it started, and the next one you open is already up to date. Nothing to remember, no bb update to run.
Your machines. No cloud. No account.
- No account, no sign-up, no database. There's nothing of you sitting on a server to breach, sell, or subpoena.
- One fleet code — a long shared secret — pairs your devices, over TLS. The relay rate-limits pairing attempts, so the secrecy of that code is the security lever.
- Your agents run on your machines. Your code, your API keys, your inference — none of it belongs to us. BrainBoxx runs no models and keeps no content.
- The relay is stateless. It holds no data between messages; moving it to your own box is just pointing DNS — there's nothing to migrate.
The command surface
Deliberately tiny. You set a machine up once, and after that there's really one command you'll ever type — and BrainBoxx never touches the tools you already know. Want a session you can pick up on your phone? Prefix it with bb.
# set up a machine — once, run anywhere
$ curl -fsSL get.brainboxx.app | bash -s -- --pair YOUR-CODE
# watch the folder you're standing in — its projects become Brains
$ bb add
# adding another machine or device? show your fleet code
$ bb code
# run any AI here as a joinable Brain — just prefix it with bb
$ bb claudeThat's the whole surface. Removing folders and hiding Brains live in the app; orphans — a folder you deleted, a session that exited — clean themselves; and updates happen on their own. There's no bb clean, bb rm or bb update to remember.