Convex is the coordination spine
Reactive product state, agent threads, commands, jobs, leases, and bounded run events live in Convex so every client sees the same accepted state.
a local-first personal operating system that keeps you on track and lets agents do work you can inspect.
Kriyan combines tasks, calendar, reminders, notes, sources, cited memory, and durable agent threads. Convex coordinates the product while a user-controlled node runs agents and maintains a readable Markdown and SQLite second brain.



my work is spread across tasks, notes, calendars, files, browser research, and agent sessions. the hard part is not capturing more of it; the hard part is turning that context into the next action without losing where anything came from.
Kriyan is built around two promises: keep me on track through normal productivity surfaces, and let personal agents do useful work through durable threads, explicit tools, and visible run state.
the second brain is deliberately inspectable. source material stays referenced, authored work stays versioned, derived memory stays cited, and local Markdown remains readable even when the app or an agent is not running.
Tasks, agenda items, reminders, recent captures, knowledge changes, and active agent work are prioritized together instead of living in separate dashboards.
The core productivity layer works without asking an agent: create work, schedule it, receive reminders, write rich notes, and keep changes synchronized across clients.
Raw inputs remain Sources, authored notes and research become Artifacts, and derived people, projects, places, and topics become Memory with provenance.
Agent conversations retain their chosen agent revision, ordered turns, run state, tool activity, and final result so work can survive retries and client restarts.
A remembered fact can be retracted, replaced, or restored without rewriting history. New conflicting evidence becomes visible instead of silently reviving old memory.
The same typed product contracts drive a Next.js web app, an Expo mobile client, and a Tauri desktop shell without giving any client direct control over the agent node.
Reactive product state, agent threads, commands, jobs, leases, and bounded run events live in Convex so every client sees the same accepted state.
A persistent Bun process claims capability-compatible jobs, runs or resumes Pi sessions, journals durable effects, and reports redacted progress back through Convex.
Convex owns editable product state, the Markdown vault owns derived transcripts and entity files, and node-local SQLite owns disposable full-text and vector indexes.
One mutation commits the user message, pinned agent revision, command, and queued job. Stable identities and leases prevent duplicate turns or duplicate final answers during retries.
Stable source references become Markdown projections and reactive relations with provenance. Corrections append new evidence instead of mutating history in place.
Web, Expo, and Tauri bind to the same typed repository contracts. The clients subscribe to state and submit intent; they never address the private node directly.
runs on
hover a tool to see why it is here
seen enough:
back home