Kanban boards: lists of cards you drag from one column to the next. It is deliberately simple, which is why it ends up used for everything from a sprint to a house move, with checklists, due dates and automations layered on.
Build me kanban boards that replace Trello: lists of cards you drag across, simple enough to use for anything. STACK - Node 20+ with Fastify, server-rendered HTML with vanilla JS for the dragging - SQLite through better-sqlite3, WAL mode, with FTS5 - WebSockets for live updates - A PWA, because a good share of card-shuffling happens on a phone - Caddy in front THE DATA MODEL - boards: id, workspace_id, name, description, background_json, is_closed, visibility, created_at - lists: id, board_id, name, position, is_archived - cards: id, list_id, title, description_md, position, due_at, due_reminder_minutes, start_at, is_complete, cover_json, is_archived, created_at, updated_at - labels: id, board_id, name, colour; card_labels - members, card_members, checklists, checklist_items - comments: id, card_id, author_id, body_md, created_at, edited_at - attachments: id, card_id, kind, path_or_url, sha256, bytes, mime, thumb_path - activity: id, board_id, card_id, actor_id, action, payload_json, at — append-only, and what makes a card's history readable - automations: id, board_id, trigger_json, conditions_json, actions_json, is_active - automation_runs: id, automation_id, card_id, status, error, at POSITION, WHICH IS THE UNGLAMOROUS HEART OF IT - Ordering by a float between neighbours is the obvious approach and it fails: after enough drags the gaps run out of precision and cards start swapping places by themselves - Use fractional indexing over strings, or integers with a rebalance when the gap closes. Either way, decide now and test it by dragging one card between two others five hundred times - Moving a card is one write, not a renumbering of the list. That is what makes it feel instant on a phone with a poor connection DRAGGING - Pointer events, so mouse and touch are one code path - Optimistic: the card moves immediately and the server confirms. A rejected move animates back with a reason - Auto-scroll when dragging near an edge, and a drop indicator that shows exactly where it will land - Fully operable without dragging: keyboard shortcuts and a move dialogue. Drag-and-drop with no alternative excludes anybody who cannot use a pointer precisely, which is a lot of people LIVE UPDATES - WebSocket per board, broadcasting after the write commits, never before - Each change carries a client identifier so your own optimistic move is reconciled rather than duplicated - On reconnect, ask for everything since the last known change and apply it in order - Presence: who else is looking at this board, which is enough. Cursors on a kanban board are noise THE CARD - Title, description in Markdown, labels, members, due date with a reminder, checklists, attachments, comments - The activity feed and the comments interleaved in one readable history - A checklist item can be converted into its own card, which is the most-used small feature in this category - Attachments stored by hash with the type from content, images thumbnailed, EXIF stripped VIEWS - The board, and a list view for people who want a table - A calendar view over due dates - Filters by label, member, due state and text, with the filter in the URL so it can be shared - Search across cards with FTS5, respecting permissions inside the query - Archive rather than delete, with a restore AUTOMATION - Triggers: a card moved into a list, a due date arriving, a label added, a checklist completed, or a schedule - Actions: move, assign, add a label, set a due date, post a comment, call a webhook - Conditions to narrow it - Every run recorded with its result. An automation that silently does nothing is worse than none - Keep it small. Three triggers people understand beat twenty they do not PERMISSIONS - Workspace members, board members, and observers who can read and comment - Public boards by link, read-only, which is genuinely useful for a roadmap - Checked on the server for every read and write, including in search NOTIFICATIONS - Mentions and assignments immediately, everything else batched into a digest - Due-date reminders at the configured offset, recorded so nobody is reminded twice - Email always, push where the platform allows OPERATIONS - .env: DATABASE_PATH, STORAGE_PATH, BASE_URL, SESSION_SECRET, SMTP_URL, VAPID keys - Migrations on boot, each once - The WebSocket layer in its own process - Nightly backup off the machine, restore script - Health endpoint WHAT MATTERS MOST Ordering and the mobile drag. Get fractional positions right and make dragging work properly with a thumb on a phone, then use it for a real project for a fortnight. The whole appeal of this product is that it is simple and it feels good to use, and both of those live entirely in those two things. Give me the repository, the PWA, migrations, .env.example, a seed board, and a README with deploy steps behind Caddy.
What you lose
- Mobile apps, which is where a good part of card-shuffling actually happens
- Power-Ups and the integration catalogue built around them
- Real-time updates when several people move cards at once
- Attachment storage and previews handled for you
- Butler automation rules, which teams quietly come to depend on
If you would rather not build
- Wekan — long-running open-source kanban
What it costs
read from their page 15 Aug 2026
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $6/mo | — | 15 Aug 2026 |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
Focalboard
$0Project boards in kanban, table and calendar views; runs standalone.
mattermost-community/focalboardfree · open source
Why this verdict
our own opinion · changed only by a person
76/100
Verdict yes at 76: lists, cards and ordering are a solved problem, and the fractional-index trick removes the only genuinely fiddly part. Score held below the eighties because real-time multiplayer and mobile apps are where the remaining value sits.
History
tracked since 6 Aug 2026 · nothing is ever overwritten
Questions about Trello
answered from the record above
Is Trello free?
No — the plan we track is $6 a month. Standard, $6 per user per month on monthly billing ($5 billed annually). Premium is $12.50 monthly.
Can you replace Trello by building your own?
YES. Replaceable in one session with an AI coding agent. Replacement score 76 out of 100, build time one session. Read what you lose before you decide.
How much does Trello cost?
$6 a month on Standard — $72 a year. Recorded 6 Aug 2026.
What do you lose by replacing Trello?
Mobile apps, which is where a good part of card-shuffling actually happens; Power-Ups and the integration catalogue built around them; Real-time updates when several people move cards at once; Attachment storage and previews handled for you; Butler automation rules, which teams quietly come to depend on. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Trello?
Yes: Planka, Focalboard. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

