Skip to content
Kairnet · pre-alpha

Mark
every step.

Local-first project management on plain Markdown files.

Project management that runs on your laptop. Tasks and docs are Markdown files in a folder you can open with any editor. List, kanban, timeline, and a graph view over the same files. No accounts, no servers, no monthly bill.

Scroll
tasks / launch-day / fix-dragon-ai.md modified 5m ago
---
status: in-progress
priority: critical
due: 2026-06-09
tags: [bug, blocking]
---
#Fix Dragon AI
  • Reproduce the befriending
  • Disable pathfinding emotions
  • Make dragon properly hostile
  • Ship rage hotfix to QA
What it is

It's a folder of Markdown files.

Your project is a folder. Tasks are Markdown files. The app builds the views, the search, and the graph on top, then gets out of your way when you want to open the files in another editor.

Files you can read

Every task is a Markdown file with a YAML header. Open them in VS Code, version them with git, sync them with Dropbox. The format isn't going anywhere.

Four views, same files

List, kanban, timeline, graph. Same tasks underneath, four ways to look at them.

Knowledge graph

Wikilinks, tags, and task dependencies show up as a force-directed graph. Good for finding the thing you wrote two months ago and forgot about.

Templates and custom fields

Add typed fields to tasks (URL, multi-select, number, date, your call). Save Markdown templates with {placeholder} placeholders and reuse them when you need them.

The product

Same files, multiple views.

List and kanban ship in v0.1. Timeline, graph, Gantt, and more are rolling out right after.

01 · List

List

Virtualized table that handles thousands of rows without lag. Click any cell to edit status, priority, or due date inline. Shift-click for ranges. Filters end up in the URL so you can bookmark them.

Kairnet list view: virtualized table of Markdown tasks with inline status, priority, and due-date columns.
02 · Kanban

Kanban

Four columns out of the box: todo, in-progress, blocked, done. Drag a card to change its status or reorder within a column. Swap the group-by axis to any custom field if you want a different cut.

Kairnet kanban view with todo, in-progress, blocked, and done columns of draggable task cards.
03 · Timeline

Timeline

Calendar view of every task with a due date. Unscheduled tasks sit in a backlog on the side, ready to drag onto a day. Click any task for a quick preview without leaving the calendar. Launching after v0.1.

Kairnet timeline view: calendar of scheduled tasks with an unscheduled backlog rail on the side.
04 · Graph

Graph

Force-directed view of tasks, docs, tags, and the wikilinks between them. Click a node to spotlight it; the rest dims. Pan and zoom with the trackpad. Launching after v0.1.

Kairnet knowledge-graph view: force-directed network of tasks, docs, tags, and the wikilinks between them.
05 · Gantt

Gantt

Horizontal bar chart of every task with duration bars and a today marker. Drag bars to reschedule; filter by sprint or assignee. A clearer picture of what ships when. Coming soon.

Kairnet Gantt view: horizontal bar chart of tasks with duration bars, a today marker, and week columns.
06 · More on the way

More on the way

Docs view, sprint boards, focus mode, reports, and more. New views are rolling out over the coming months — same files, new angles.

Kairnet placeholder showing upcoming views: docs view, sprint board, focus mode, reports, and more.
01

Local-first.

Your laptop is the source of truth. If you want to sync between machines, use whatever you already pay for (Dropbox, iCloud Drive, git, Syncthing). The app works offline because it never went online in the first place.

02

Plain files.

Tasks are Markdown with a YAML header at the top. There's a SQLite index for fast search, but it's just a cache. Delete it and the app rebuilds it on next launch. Nothing about your project lives anywhere except those files.

03

Sovereign by design.

No account to sign up for. No cloud account underneath. No analytics pinging home. Kairnet only touches the network when you check for an update, and that check is a toggle in Settings. If we go out of business tomorrow, your projects keep working. They're just files on your disk.

04

Themes from day one.

Two themes ship in the box (Directed Energy and Aurora). Drop a JSON file into .kairnet/themes/ to add your own. The schema is documented and validated. Restyle every surface in the app without a custom build.

Install

Download for your platform.

Pre-alpha builds aren't code-signed yet, so Windows SmartScreen and macOS Gatekeeper will give you a stern look on first launch. The auto-updater ships with v0.1. Until then, come back and grab a fresh installer when a new build lands.

macOS

Apple silicon

Windows

x86_64

.exe .msi

Linux

x86_64

Questions

Stuff people ask.

If your question isn't here, check the docs or open an issue on GitHub.

Where is my data stored?
Wherever you told Kairnet to put it. Tasks go in tasks/, docs go in docs/, and the local config plus the SQLite cache sit in .kairnet/. Nothing leaves the folder.
Is there any telemetry or analytics?
No telemetry, no analytics, no crash reports. The only network call is the update check, which hits https://releases.kairnet.app/latest.json. That only fires if you trigger it from the menu or turn on 'Check on launch' in Settings > Updates.
Can I sync my project between machines?
Yes. Point both machines at the same folder via Dropbox, iCloud Drive, git, Syncthing, or whatever you already pay for. Tasks are Markdown, so the sync tool just sees text files. If the SQLite index gets confused after a merge, it rebuilds itself on next launch. Don't run two instances of the app against the same folder at the same time, though. They will fight.
Can I edit task files in another editor?
Yes. There's a file watcher that picks up external edits in about 200ms and reindexes. The frontmatter is normal YAML, so anything you add by hand stays put the next time the app saves the file.
What if I delete the SQLite index?
It rebuilds itself from the Markdown files on next launch. Nothing is lost. The index is just a cache for fast search.
Is real-time collaboration coming?
Probably, eventually, and only if you turn it on. The plan is to ship sync and multi-user as a separate plugin: not in the core app, not on by default, not something you can't uninstall. Solo and offline stays the default forever. No ETA.
Will I be able to run my own Kairnet server?
That's the plan. A self-host option will let small teams run the sync side on their own box: a spare laptop, a homelab, a VPS, the office NAS, whatever. There won't be a Kairnet cloud you have to pay for, and there won't be a per-seat licence on the sync side. If you want a server, you run it.

Ready when you are.

Pre-alpha. Free. No account required.

Download Kairnet