Beta

A canvas that keeps the connections you drew.

A workspace is one document of typed cards. Write in it, place it on a board, link it to another card, and everything you did not write yourself is recomputed on read.

No account for local use. The app runs in the browser, saves to IndexedDB, and needs a relay only to sync with someone else.

What it does

One document per workspace

The workspace is a Loro CRDT. Edits merge without a server in the loop, and a relay syncs peers when one is reachable.

Typed cards on a canvas

Cards, boards, sections, types, tags and edges live in one object graph, and Zod validates every write before it reaches the document.

Every card is an editor

Text, checklists, fields and templates are edited in place with Tiptap, so a card holds the work and not a link to it.

Sharing without an account

A share link serves a read-only projection of a board or a card. A link with edit rights works on a draft and publishes the diff back.

Offline is the default, not a mode

Edits go to the open tab first and reach the network afterwards. A workspace opens from the local snapshot, so a dropped connection pauses sync and nothing else. Reloading while offline needs the network, because the app ships no service worker, and that limit is stated in the interface rather than discovered.

Pricing

Two hosted plans, one seat each, billed monthly. A licence carries a seat count, a workspace count and two storage caps, and the relay enforces the tighter of the licence and the instance. Organization buys capacity, not people: it is still one member.

PlanPer monthSeatsWorkspacesDocument bytes per workspaceAttachment bytes per workspace
Personal$913256 MiB1 GiB
Organization$241252 GiB8 GiB

A plan is one person: inviting a second member is refused rather than billed, because seats are not sold separately yet. Self-hosting needs no licence: the same quotas are environment variables, and unset means unlimited.

Self-host it

One Compose file brings up the static app, the relay that syncs workspaces, and Caddy in front of them. The relay keeps its documents in SQLite on a named volume, so a backup is that volume and nothing else.

Deployment guide