Most people don't need another task list. They need something that turns the tasks they already have into a plan they'll actually follow. Kairos takes unstructured notes, extracts tasks using an LLM, and places them into Google Calendar automatically — respecting deadlines, dependencies, and your working hours. No drag and drop. No manual time-blocking.
"Every scheduling app I tried had the same problem: it stored my tasks but it didn't do anything with them. I wanted something that would look at everything I had on, figure out when I could actually do it, and put it on my calendar — without me touching a single slot."
— Sam Limbu · Founder, Kairos
The calls that meaningfully moved the outcome. Not the cosmetic stuff.
Creating or updating a task automatically enqueues a placement job via the Postgres jobs table. Scheduling completes in 1–3 s within the same Vercel function call — no separate trigger, no user action required. Idempotency keys prevent duplicates under concurrent saves.
Every scratchpad plugin gets a PluginContext — complete/completeStructured for LLM access, config, memory, logging — without core importing any provider SDK. Adding a new input source (Readwise, GitHub, Linear) is a PR to the public registry. 10 plugins shipped at launch without a single core change.
Plugin authors deploy their own serverless function exposing GET /manifest and POST /parse. Kairos calls via lib/plugins/http-adapter.ts — HMAC-signed requests, 5 s timeout, circuit breaker (3 failures / 1 min → 5 min open). Supports version rollback. No third-party code runs inside the Kairos runtime.
A custom ESLint rule (no-raw-colors) bans hex literals and raw Tailwind colour utilities in component files. Components reference semantic tokens only. Theme marketplace themes compile to CSS at install time. Safe to accept community submissions without manual design review.
lib/llm/ is the only place provider SDKs are allowed. All other code goes through PluginContext.complete() or Vercel AI SDK streamText. Switching OpenAI → Anthropic → Ollama is one env var. Self-hosters bring their own keys.
Tags handle taxonomy. Google Calendar handles time. Collections handle coordination — grouping tasks into ordered phases (Planning → Build → Review) with progress tracking and bulk-schedule. No collectionId on the tasks table; many-to-many keeps tasks portable across collections.

