Watch the agent think.
Every command, every file change, every reasoning step — streamed live as the agent writes them. Vibe coding, with receipts.
self-hosted · for solo developers
Your coding agent runs on a server you own, not a vendor's cloud. Kartā turns the ChatGPT plan you already pay for into a private agent behind your tailnet. ~$15/mo. Your code never leaves your disk. Every session sandboxed.
why bother
The hosted tools (Devin, zo.computer, Cursor's background agents) are real products. Pick one if you want zero setup and someone else minding uptime. Pick Kartā if any of these three matter.
01 · privacy
Tailscale-only, no public IP, every secret encrypted at rest. Your repos live on a server you own, never a vendor's database or a sandbox in someone else's data center.
02 · the unlock
Kartā runs on the ChatGPT plan you already pay for (Plus, Pro, Business, or Enterprise). No second AI subscription. The host runs ~$15/mo on Hetzner, $0 → ~$60/mo on AWS (≈3 months free on starter credits), or €0 on a Raspberry Pi you already own.
03 · ownership
One command stops everything; your sessions and audit log stay on your disk, yours to walk away with any time. No SaaS contract, no hosted tenant to migrate out of, no "we're sunsetting that feature" email on a Tuesday.
what it does
Every panel earns its pixels. Each one is a reason the hosted tools didn't quite fit.
Every command, every file change, every reasoning step — streamed live as the agent writes them. Vibe coding, with receipts.
Click Open PR. The diff, bot reviews, and checks appear in the same page. Click Squash and merge. Done — no tab-hopping to GitHub mid-session.
Deep-link any session, open it on your phone — the worklog picks up where the agent left off. Optional Telegram bridge: wire up your own bot and get pinged when long turns finish.
Dictate straight into the composer, or send a voice note through the optional Telegram bridge and it becomes a turn. Long prompts are faster spoken, and transcription runs on your own server, so your audio never leaves the tailnet.
"Every Monday, open PRs for any dependency updates." Real agent sessions on cron, with overlap handling baked in. Telegram pings when each finishes.
Open a full Linux desktop right inside any session — watch a long task run, browse in a real Chrome, or poke at the UI the agent just built. The agent can drive it too: it opens apps, runs a TUI, types, and screenshots through a scoped desktop bridge — and never touches the host.
Each session runs in its own fresh gVisor-isolated container. A user-space kernel intercepts every syscall; when the session ends, the container is destroyed. Always on, no toggle. Runaway scripts and malicious tool calls can't escape into your real workspace.
Full-text across every title, every message, every turn — straight from the sidebar or ⌘K palette. Hit s to focus, type, see snippets with the match in context. It all runs on your box — your transcripts never leave the tailnet.
Declare gh-ghent, shux, ripgrep, or any binary in /settings/tools. Every new sandbox session installs them on first boot — marker-cached, so re-using the same container is a no-op. Same page wires up the open agent-skills ecosystem via npx skills add. No more re-installing your tools in turn 1 of every PR run.
how it works · 30-sec version
The only public-facing things are GitHub and OpenAI — both of which you already use. Kartā never serves a public IP. You reach the cockpit over your tailnet, which IS the firewall.
three themes, one keystroke
Three carefully-paired dark palettes. Switch via the dots in the sidebar. Saved per device.
vs the alternatives
Different bets on who manages what. An honest, qualitative cut; pricing and feature parity in this space shift monthly.
your ChatGPT plan + ~$15/mo
$500+/mo · hosted
subscription · browser sandbox
getting started
Spend ~10 minutes collecting credentials in your browser, ~20 watching the provisioning ladder run. The TUI walks you through every prereq inline, no separate checklist. See the full install guide →
The agent runs on someone else's GPU. Everything else can run on a server you own.
— that's the whole bet