The sticky note is the ticket.

Not a copy of it. Not a link to it. One record, drawn on a canvas, listed in a table, worked in a sprint. The three panels below are live and they are all reading the same document.

One board, read three ways

The left panel is the product's own renderer drawing a real document. The two beside it read that same document, and nothing is copied between them because there was only ever one of it. Switch the right panel to brief.md and the board comes out as markdown a coding agent can act on: every other whiteboard exports a picture, and a picture is the one thing a model cannot act on.

Tuesday's sticky is Friday's ticket

Select a note, press one button, and it is an issue with a key on it. The card stands where the note stood and the arrow you drew stays attached, because where you put it was part of the thought. Rename it in the table and the canvas changes under your hand. Nothing is retyped, because nothing was ever copied.

Canvas

A surface with no edges and no lag.

  • Frames, connectors, sticky notes, pen, shapes, tables and mind maps
  • Images, PDFs placed page by page, live embeds and code blocks
  • Presentation mode, comments and version history
  • Templates, and importers for an existing Miro board, a Notion export or a spreadsheet

Pages and databases

Where the same records get written down.

  • A block editor with nested pages, mentions, backlinks and an inbox
  • Databases with twenty column types, formulas, rollups and relations
  • Table, board, list, gallery, calendar and timeline views over them
  • Publish a page to the web, or keep it behind the login

Issues

The work, with keys on it.

  • Issues with keys, cycles, projects, estimates and labels
  • Sub-issues, blocking relations, a board view and a burn-down
  • Promote a note or a paragraph into an issue where it stands
  • A card on a canvas points at the row it came from and refreshes from it

Getting your work in

Switching is the expensive part, so here is exactly how far the importers go and where they stop.

A Miro board

A script pulls the board through Miro's own API and the mapper lays it out here: frames, sticky notes, shapes, text, connectors and images. Your token stays in your shell and never reaches this site.

A Notion export

Take the markdown export Notion gives you and the pages come in as pages, with their headings, lists, code blocks, tables and nesting intact. Databases arrive as databases, not as screenshots of them.

A tracker backlog

This one is not solved. There is no importer for Linear or Jira, so a backlog would be retyped. It is the hardest thing about switching and pretending otherwise would waste your afternoon.

One tool. One line on the invoice.

Priced for a team that was paying three separate bills for the same afternoon's work. The code is AGPL either way; what is charged for is somebody else keeping the disks spinning.

Free

Up to three people, one gigabyte of files, and every board, page, database and issue there is. No card, no trial clock.

Team

Ten gigabytes each, up to two hundred people, and the API and webhooks so n8n and the rest can reach it. Not on sale yet: there is no payment to take it with.

Your own server

Nothing, for good. A Postgres and a bucket, your disks and your backups. No seat count, no phone-home, no feature held back to make the paid one look better.

Where it stops

Written by one person, in Turkey. So here is the list a sales page leaves out, which is better read now than after you have moved a team across.

Live editing is unproven

The synchronisation is written and the channel is private, checked by the same policies as the board itself. It has never once been run with two people in the room.

No phone layout, deliberately

An infinite canvas on a six-inch screen is a worse product, not a smaller one. The effort goes into the desk instead.

No enterprise identity

Email, GitHub, Google and Apple sign-in, with roles enforced in the database. No SAML, no SCIM, no signed support agreement. If procurement needs those, this does not get approved.

Embeds sit on top

A live embed is a real iframe over the canvas, so an item stacked above one still draws behind it. A still preview will fix it.

Draw it once. Ship it from the same place.

Start a board in the browser, or clone the repository and run the whole thing on a machine you own. Both are the same software.