A Kanban board that is actually yours
ScrumBoard is a self-hosted board for managing your own projects. Configurable columns, cards you drag between them, and live sync across every device you have open — including when one of them has no signal.
One binary, one SQLite file, one container. No account, no third party holding your data, nothing to pay for.
What it does
-
Works with no connection
Edit on the train. Changes queue on the device and reconcile when the network comes back, without duplicating anything if the request was retried.
-
Live across devices
Move a card on the laptop and it moves on the phone. A WebSocket carries every change to whichever devices are open.
-
WIP limits that hold
Give a column a limit and it refuses the card that would exceed it — including a card dragged in, which stays exactly where it was.
-
Installable
Add it to the Android home screen or the macOS dock. It opens in its own window and starts without a network.
-
Your data, one file
Everything lives in a single SQLite file on your own server, backed up nightly. No account, no export button needed.
-
Private by default
Two layers of access control in front of the board, and a landing page that is the only part search engines ever see.
What it looks like
Built with
- Go 1.25
- Standard net/http. No framework: pattern routing covers fifteen endpoints.
- SQLite
- A pure-Go driver, so the image is one static binary in a scratch container.
- Hexagonal
- The database and the WebSocket are adapters. Swapping either touches no business logic.
- Svelte 5
- Runes, no virtual DOM. The whole board is around 20 kB gzipped.
- Astro
- This page: static HTML, no JavaScript shipped.
- Docker + GitHub Actions
- Built for arm64, pushed to GHCR, deployed over SSH to one small VM.
Run your own
The backend is MIT-licensed and documented: two containers, one nginx block, and a nightly backup. It fits on the smallest VM a provider will give you.