Kando: Kanban Boards for Obsidian, Brought Up to Date

October 22, 2026

obsidian-kando is out. It's a plugin for Obsidian that turns a Markdown file into a Kanban board: lists are headings, cards are list items, and the file stays plain Markdown that you can read and edit without the plugin.

The idea isn't mine. Kando is a fork of obsidian-kanban, originally created by Matthew Meyers and one of the most popular community plugins, with over 4,500 stars. Its last release dates from May 2024, though, and the toolchain underneath had aged with it. Kando is my continuation of it, and version 1.2.0 is the first public release.

Bringing the fork up to date

The first step was to update every dependency to its latest version. The biggest jump was TypeScript, from 5.9 to 7.0. TypeScript 7 turns on strict null checks by default, and the codebase had never been written for them: 584 errors across 67 files.

Before fixing any of them, I added a Vitest suite for the parts where a mistake would hurt most: Markdown parsing round trips, wikilinks, embeds and block IDs, and the data changes behind drag and drop. With those tests in place, working through the errors was routine rather than risky. It also paid off right away, because the strict checks found real bugs. Two plain functions used this.app where there was no this and would have thrown at runtime, and a scroll-state cleanup could unmount by an ID that might be undefined.

Along the way I cleaned up a few things that had nothing to do with code:

  • The license. package.json said MIT, but the license file is GPLv3, in upstream too. Kando is GPLv3, now with a proper copyright notice that credits the original author.
  • Small dependencies. Packages like classcat, deepmerge and react-fast-compare were replaced by a few lines of inlined code, which made the bundle smaller.
  • External links. Links on cards now only open http and https URLs.

A small celebration

Then I added the feature I wanted most. With Celebrate completions turned on, finishing a card sets off a small party, inspired by the one Asana throws when you complete a task.

The first version was simple: a unicorn sliding across the screen with a rainbow trail. Version 1.2.0 reworks it. Sparkles burst from the card every time you check it off or drag it into a "Done" list. Now and then, a creature also launches from the card. It might be a unicorn, a dragon, an otter, a whale or a flamingo, and it swoops across the board on a curved rainbow trail, sometimes looping the loop on the way. The flight path stays on screen, the creature faces the way it flies, and the rainbow tapers and fades like a comet's tail.

Under the hood, everything is drawn on a single canvas that is removed once the last particle fades. The first version moved a DOM element instead, which forced a layout recalculation on every frame. If your system asks for reduced motion, nothing is drawn at all. The setting is off by default, and each board can override it.

A current toolchain

Version 1.2.0 also finishes the move to a current toolchain:

  • Bun installs dependencies and runs the scripts, so Node is no longer needed.
  • Preact 11 and TanStack Table 9 replace the older versions, and the test suite now also covers the table view and the drag-and-drop components.
  • ESLint is gone. typescript-eslint doesn't support TypeScript 7, so ESLint had stopped running anyway. Type checking and Prettier remain.
  • Exact versions. Every dependency is pinned and the lockfile is committed, so every install resolves to exactly the same packages.
  • Releases from CI. bun run release 1.2.0 sets the version in package.json, manifest.json and versions.json, commits it and pushes a tag. GitHub Actions then builds the plugin and publishes the release, with the matching changelog section as its notes.

Trying it out

Kando isn't in Obsidian's community plugin store. To install it, download the zip from the latest release and unzip it into your vault's .obsidian/plugins/ folder. Alternatively, install it with BRAT, which also keeps it up to date. Kando reads the same file format as the original plugin, so existing Kanban boards open as they are.

Kando works on mobile too. It runs in Obsidian on phones and tablets just as it does on the desktop, so your boards go wherever your vault does. On a phone, BRAT is the easiest way to install it.

Bugs and feature requests go to the issue tracker.