Local-first
Three services — API (4200), terminal (4201), frontend (3000) — all
bind 127.0.0.1 only. The install hardening refuses 0.0.0.0.
This site documents how to install, operate, and extend Tandem — the layer between your keyboard and the model. Pick a section below.
Local-first
Three services — API (4200), terminal (4201), frontend (3000) — all
bind 127.0.0.1 only. The install hardening refuses 0.0.0.0.
Markdown is the source of truth
Tasks live in vault tasks/*.md with YAML frontmatter, visible from
Obsidian and grep-able from the shell. tandem.db holds projects,
sessions, approvals, and audit rows only.
A real fleet
A roster of named agents claim work atomically against SQLite, run in worktree isolation, and stream their stdout through the same tmux substrate as the Terminal page.
Air-gapped by default
Stdlib-only Python backend (no pip install at runtime), every service
localhost-bound, and safe-scrape.py the only sanctioned path to fetch
external content.
For pricing, features, or a demo see tandembase.xyz.