Skip to main content

Kanban workspace · local-first

Boards that survive a refresh.

Drag-and-drop that never waits. Your board lives in your browser and travels to anyone as a link — no account, no upload.

No account needed — the board starts in this browser, on this device.

fig. 01 — 3 columns · 5 cards, drawn 1:1

the board travels in one link

The sample board, drawn on this page. Drag-and-drop, keyboard moves and undo/redo are live in the app.

Share by link

Send a board to anyone.

No account, no server, no upload.

0
accounts required
0
bytes uploaded
1
link to send
How a board travels inside a linkA board of 3 columns and 5 cards is compressed in the browser into one link: a format version, a compression mode, an eight-character checksum and the compressed board itself, 586 characters in all. Opening the link in any browser decodes the board there — nothing is sent to a server, and the link is a snapshot rather than a live connection. A link that was edited or truncated fails its checksum, so the page refuses it: “This link can’t be decoded.” — nothing was imported. A link past 32,000 characters is refused too: “This link is too large to open.” — fails honestly, not half-working.YOUR BOARDTo Do2In Progress2Done1THE LINKhttps://monthlymuster.vercel.app/shared#board=1zf133fc43fdLBTuMwEAbgVxn…checksumthe board586charactersthe whole board, in one pasteeverything after # is the boardANY BROWSERmonthlymuster.vercel.app/shared#board=1zf133…A board arrived.3 columns · 5 cardsTo Do2In Progress2Done1compressedin the browseropen itif the link was edited or truncated…/shared#board=1zf133fc43dLBTuMwEAbgVx…the checksum no longer matchesThis link can’t be decoded.nothing was importedif the link is too long32,000charactersa link longer than this is refusedThis link is too large to open.fails honestly, not half-working3 columns · 5 cardsthe board you madekept in this browserthe board arrivesdecoded here — nothing sent to a servera snapshot, not a live connection#board=1zf133…
How a board travels inside a linkA board of 3 columns and 5 cards is compressed in the browser into one link: a format version, a compression mode, an eight-character checksum and the compressed board itself, 586 characters in all. Opening the link in any browser decodes the board there — nothing is sent to a server, and the link is a snapshot rather than a live connection. A link that was edited or truncated fails its checksum, so the page refuses it: “This link can’t be decoded.” — nothing was imported. A link past 32,000 characters is refused too: “This link is too large to open.” — fails honestly, not half-working.YOUR BOARDTo Do2In Progress2Done1THE LINKhttps://monthlymuster.vercel.app/shared#board=1zf133fc43fdLBTuMwEAbg…checksumthe board586charactersthe whole board, in one pasteeverything after # is the boardANY BROWSERmonthlymuster.vercel.app/shared#board=1zf133…A board arrived.3 columns · 5 cardsTo Do2In Progress2Done1compressedin the browseropen itif the link was edited or truncated…/shared#board=1zf133fc43dLBTuMwEAbgVx…the checksum no longer matchesThis link can’t be decoded.nothing was importedif the link is too long32,000charactersa link longer than this is refusedThis link is too large to open.fails honestly, not half-working3 columns · 5 cardsthe board you madekept in this browserthe board arrivesdecoded here — nothing sent to a servera snapshot, not a live connection#board=1zf133…
How a board travels inside a linkA board of 3 columns and 5 cards is compressed in the browser into one link: a format version, a compression mode, an eight-character checksum and the compressed board itself, 586 characters in all. Opening the link in any browser decodes the board there — nothing is sent to a server, and the link is a snapshot rather than a live connection. A link that was edited or truncated fails its checksum, so the page refuses it: “This link can’t be decoded.” — nothing was imported. A link past 32,000 characters is refused too: “This link is too large to open.” — fails honestly, not half-working.YOUR BOARDTo Do2In Progress2Done1THE LINKhttps://monthlymuster.vercel.app/shared#board=1zf133fc43fdLBTuMwEAbg…checksumthe board586charactersthe whole board, in one pasteeverything after # is the boardANY BROWSERmonthlymuster.vercel.app/shared#board=1z…A board arrived.3 columns · 5 cardsTo Do2In Progress2Done1compressedin the browseropen itif the link was edited or truncated…/shared#board=1zf133fc43dLBTuMwEAbgVx…the checksum no longer matchesThis link can’t be decoded.nothing was importedif the link is too long32,000charactersa link longer than this is refusedThis link is too large to open.fails honestly, not half-workingthe board arrivesdecoded here — nothing sent to a servera snapshot, not a live connection#board=1zf133…
How a board travels inside a linkA board of 3 columns and 5 cards is compressed in the browser into one link: a format version, a compression mode, an eight-character checksum and the compressed board itself, 586 characters in all. Opening the link in any browser decodes the board there — nothing is sent to a server, and the link is a snapshot rather than a live connection. A link that was edited or truncated fails its checksum, so the page refuses it: “This link can’t be decoded.” — nothing was imported. A link past 32,000 characters is refused too: “This link is too large to open.” — fails honestly, not half-working.YOUR BOARDTo Do2In Progress2Done1THE LINKmonthlymuster.vercel.app/…#board=1zf133fc43fdLBTuMwEAbg…checksumthe board586charactersthe whole board, in one pasteeverything after # is the boardANY BROWSERmonthlymuster.vercel.app/…#1z…A board arrived.3 columns · 5 cardsTo Do2In Progress2Done1compressedin the browseropen itif the link was edited or truncated…/shared#board=1zf133fc43dLBTuMwEAb…the checksum no longer matchesThis link can’t be decoded.nothing was importedif the link is too long32,000charactersa link longer than this is refusedThis link is too large to open.fails honestly, not half-workingthe board arrivesdecoded here — nothing sent to a servera snapshot, not a live connection#board=1zf133…

fig. 02 — the whole board travels inside the link

That link is the codec’s own output for the sample board. Open it and the board lands in a fresh browser.

Keyboard

Keyboard-first, not keyboard-also.

Every card is focusable. Space lifts, arrows steer, Space drops.

Undo and redo run fifty steps deep CtrlZ and CtrlY, with the shortcut panel behind Shift?.

SpaceLift→Steer→SteerSpaceDrop

To Do

2

Book the Saturday market stall

In Progress

1

Publish the spring menu

Focus a card, press Space.or play a key above

What it costs

The board is free.

No card, no account, no subscription — the board runs in your browser. One thing you can buy, on request: the hosted workspace we run.

The board

Free, and the default.

$0forever

  • Every board, kept in this browser
  • Drag-and-drop, with a Move-to menu for touch
  • Undo and redo, 50 steps deep, per board
  • Share any board as a link
  • Export a board as JSON, and import one back
Open the board
Paid plan

Hosted workspace

On a workspace we run.

One-offno subscription

  • Boards kept on a workspace we run, across your devices
  • We set it up against the email on the payment
  • One payment — no subscription, nothing to renew
  • There is no pay button on this build — write to us and we send the price and an invoice
  • The free board does not change: it stays in your browser
See the hosted workspace

Not included

—

  • SSO & SAML
  • Audit logs or data retention
  • Dedicated support or SLA
  • Team permissions or orgs
  • Live collaboration — a link is a snapshot

Scope

What it does, and where it stops.

The left column works today. The right column does not exist yet.

9 working · 6 not built

Working today

9 items
  • Local-first: in this browser, no account, no server, no upload
  • Paid plan: the hosted workspace, on request — where card payment is switched on, bought on Stripe's own page
  • Many boards: as many as you like: rename, duplicate, switch
  • Drag and drop: Kanban, with a Move-to menu for touch
  • Undo and redo: fifty steps deep, per board
  • Keyboard: Space lifts a card, arrows move it, Enter opens it
  • Share: any board as a link, whole board inside
  • Export: any board as a JSON file, and one back in
  • Search: every card, with a filter you can clear

Not built

6 items
  • Live collaboration: a link is a snapshot, not a connection
  • Live sync: the free board stays in this browser — two tabs of it stay in step
  • Importers: none for Trello, Asana or Notion
  • Teams: no management, permissions or org isolation
  • Enterprise SSO: no SAML, 2FA, API keys or audit logs
  • Seats: the hosted workspace is yours alone

Questions

Straight answers.

How does sharing work?

The whole board is compressed into the link. Nothing is uploaded, so there is no share server to expire or leak. It is a snapshot — whoever opens it keeps the board in their own browser.

Do I need an account to use it?

No sign-up wall. The board runs in your browser, and that is where your boards are kept. Add Supabase keys and sign-in becomes real — the board still lives in your browser either way.

What does MonthlyMuster do?

A Kanban board: drag cards between columns, add and rename columns, search, undo and redo fifty steps, keep as many named boards as you like, and send any one as a link. One limit worth knowing: your boards live in this browser and nothing is sent to a server.

Does it work offline?

Yes. Board state lives in your browser and is restored on load. This build never writes to a database. A shared link needs the page to load once, then decodes offline.

Keyboard shortcuts?

Yes. Cards are keyboard-draggable: Space lifts, the arrows steer, Space drops, Escape cancels. Ctrl+Z and Ctrl+Y undo and redo 50 steps — Cmd+Z and Cmd+Shift+Z on a Mac — and Shift + ? opens the shortcut panel.

Can I import from Trello, Asana, or Notion?

Not from those services. Export any board as a JSON file and import it back, and a shared link opens as a new board.

Open the board. Then send it to someone.

It starts in this browser, with three empty columns. Add a card, or load the sample — then Share turns the whole board into a link.