Open source · local-first · by romenkova

A Kanban board made of Markdown

Boards live in your browser, so the UI is instant and works offline.
For anything you want to keep, run the sync server you host yourself.

↓ this is a demo, not a real board. "Open in browser" runs the whole thing: no signup, no install

Cards

4

Cards are Markdown

2/4

GitHub-flavored Markdown:
bold, code, links, highlights.
Task lists carry a live count, up in the header (try clicking):

  • Written in Markdown
  • Slash menu for formatting
  • Tick a box, watch the count
  • Nothing left to do

I tried to make Markdown editing more bearable: slash commands, suggestions.

Attachments and tags

File attachments, inline images, support for dragging files into a card or pasting from the buffer:

board-preview.png

Bracketed words become colored pills: design needs review

Deadlines

overdue

Set a due date and the chip shifts color as it nears.
Like this one, which has been overdue for a while.

Cards link to cards

Type [[ and pick a card. The reference (wikilink) carries its title and the column it's in: both read live, so a rename or a move updates every mention:

CARD-3DeadlinesCards

Where it lives

2

Local-first

Boards live in the browser. Reads and writes hit your device, not the network, so it's fast, and it works offline.

Sync is opt-in

Point it at a server you run and boards replicate to every device in the background. Sync happens every couple of seconds, or on +S.

Run it

3

Self-host in one line

$ install.sh ⎿ secrets generated ⎿ images pulled✓ installed and running on :8080

Comes with an install script.
The script backs up your data, and bundles all you need to run the app. Re-run any time to pull newer images. It keeps your config. There's a self-hosting guide.

Runs where you do

In the browser, installed as a PWA, or a Tauri macOS app that reuses the same client and auto-updates.
No mobile app yet, but the PWA makes the mobile experience closer to native.

Agents can edit it too

The server exposes your boards over MCP, so Claude or other agents can read and edit them: create cards, tick task lists, move things.

$ claude> add a card for the offline bug⏺ get_board(roadmap) ⎿ 3 columns · 12 cards⏺ create_card("Offline banner") ⎿ created ROAD-13 in Todo