About this project

Cairn is a self-hosted, single-user wellness operating system that combines training, nutrition, longevity markers, sleep, and life context into one agentic coaching brain. It opens with a calm daily Brief suggesting rest, easy, or train, with reasoning shown, and never gates the user. The system connects lab results to concrete nutrition, training, and wearable directives, derives adaptive nutrition from real weight trends, and evolves lifting and running plans based on actual completed work. A single Node service serves the PWA, REST API, MCP server, and background scheduler, with storage in SQLite via Node's built-in node:sqlite. The deterministic core works without any external agent: set-by-set logging, plan editing, bodyweight charts, marker trends, recovery views, endurance stats, and activity notes all function offline. Adding a coaching agent such as Claude Code, Codex, Antigravity, or Grok enables chat, generative meal plans, health-review narratives, lab marker extraction, and weekly team reviews. Cairn is agent-native, exposing 260+ MCP tools and 300+ REST routes generated from source. Garmin sync is two-way: sleep, HRV, and activities come in, while finished strength sessions go back to Garmin Connect using Garmin's exercise vocabulary. Apple Health integration is also documented. Deployment is via a multi-arch GHCR Docker image, with quickstart scripts for laptops, Raspberry Pi, phones as installable PWAs, and small VMs. The project ships with no authentication by default and is intended for trusted networks, with optional CAIRN_AUTH_TOKEN and Tailscale-based private access. All data remains in a local SQLite file; agent calls go only to the model provider the user connects. The project is MIT-licensed and built with Node 26, TypeScript, Express, and a vanilla PWA.