Introduction
OKR.ai aligns OKRs from the top of your org to every team, on one canvas. It is open source, runs on your own machine or servers, and uses AI to draft, split and track OKRs from the tools your teams already use.
What OKR.ai does
People and objectives are nodes on a pannable dot-grid canvas. Each person pulls their manager’s OKRs, and AI drafts their own aligned OKRs. They track progress with evidence, then push OKRs down to their reports, split by each report’s role. AI also reads context from your tools over MCP, plus docs sites and uploaded files.
- One page. A canvas with a People ↔ Objectives toggle. You see your manager, yourself and your reports; everyone else is one click away.
- Three flows per node. From manager (pull and align with AI), My OKRs (draft and track) and Reports (push and split with AI).
- Acknowledge → approve. Changes to someone’s OKRs need them to acknowledge the set; their manager then approves it.
- Team security. Full OKRs and progress are visible only to you, your direct manager and your direct reports, enforced on the server.
- Bring your own database, or none. Built-in SQLite by default; Postgres, MySQL, libSQL and managed services when you need them.
Why self-hosted
OKRs carry your strategy, your org chart and how every team is performing. OKR.ai runs inside your own network so that data never passes through a third-party OKR vendor. For larger companies this removes most of a SaaS security review: there is no new sub-processor, no vendor DPA and no residency question beyond where you deploy. Read Security & compliance for the detail.
How it’s built
| Part | What it is |
|---|---|
| App | A Next.js app with a single RPC endpoint (POST /api/rpc). Needs a long-running Node.js 22.13+ process. |
| Data | A store contract with SQL (SQLite, Postgres, MySQL, libSQL) and DynamoDB backends. Tables are prefixed okr_. |
| AI | Official Claude and OpenAI SDKs, plus DeepSeek and OpenRouter. Every answer is validated before anything is written. |
| Context | A hand-written MCP client with OAuth (PKCE) or token auth, a docs crawler behind an SSRF guard, and file extraction. |
| Auth | Email one-time code or magic link, Google, and OIDC SSO, built on node:crypto. |
The app ships with 7 runtime packages (next, react, react-dom, zod, pg, openai, @anthropic-ai/sdk) and npm audit reports 0 vulnerabilities.