An open source AI body double for people with ADHD (Kovir Labs). A friendly animated
companion — Timber the Busy Beaver by default — works alongside you, helps you start, and
checks in gently. Runs on local Ollama by default, or on a cloud
provider you configure. See docs/SPEC.md for the product spec and
CLAUDE.md for the rules every change must follow.
Working now:
- Focus sessions with timers owned by the Rust core: pause/resume, extend, end, breaks, subtasks, quiet mode
- Check-in engine (interval, halfway, 5/2-minute heads-up, session end) with silent/gentle/conversational modes and deep-focus protection hooks
- Chat with streaming replies and LLM tool calling (native tools, with a JSON fallback for models without them)
- Providers: Ollama (local or LAN) and Anthropic; API keys only in the OS keychain
- Privacy router: image/audio requests to non-local providers are blocked in
core/src/router/privacy.rs - Crisis safety: prompt safety block plus a deterministic resource safety net
- SQLite history, settings, and profile (companion rename, tone, about-me)
- Placeholder SVG beaver with all nine states (the Rive pack isn't made yet)
- Prompt evals (
pnpm evals)
Not yet: voice (M2), camera (M3), mini mode, OpenAI-compatible adapter, the .riv art, input-activity signals.
Prerequisites: Rust (stable), Node 24 + pnpm, and the Tauri prerequisites for your OS.
pnpm install
pnpm tauri devThen open Settings → AI provider. For an Ollama server elsewhere on your network, enter its
address (e.g. http://192.168.1.20:11434), press Find models, and tick "I control this
computer" so it's treated as local for privacy rules. For Anthropic, paste an API key; it's
stored in your system keychain.
Copy this folder to the Windows PC (a short path like C:\tandem is safest) and double-click
install-windows.bat. It installs the build tools with winget (VS C++ Build Tools, Rust, Node.js,
pnpm, CMake, LLVM), builds the installer, and runs it. Builds are unsigned, so SmartScreen will ask you to
confirm ("More info" → "Run anyway"). Use install-windows.bat -NoInstall to only build the .exe.
cargo test -p core # Rust unit + integration tests (mock provider, no network)
cargo clippy --workspace --all-targets --all-features -- -D warnings
pnpm lint && pnpm typecheck && pnpm test
pnpm gen:ipc # regenerate ui/src/ipc/generated from Rust types
OLLAMA_URL=http://localhost:11434 OLLAMA_MODEL=qwen2.5:7b pnpm evals
EVAL_PROVIDER=anthropic ANTHROPIC_API_KEY=... pnpm evalsSee docs/CONTRIBUTING.md and the ADRs in docs/adr/.
Tandem is licensed under the GNU General Public License v3.0 or later (see LICENSE).
We chose GPL-3.0 so the app can use the maintained Piper
text-to-speech engine (ADR 0003). Character packs and voice models carry their own licenses
inside each pack or model card.