A tiny, local-first kanban board in one HTML file.
Open Kanban.html in a browser and use it directly. No server, account, build step, or cloud sync required.
The app loads React, ReactDOM, Babel Standalone, and the DM Sans font from CDNs, so first launch needs internet access unless those files are already cached by the browser.
- Drag cards and columns
- Rename and recolor columns
- Edit cards, notes, labels, checklists, deadlines, and local attachments
- Show unfinished checklist items on card previews
- Reorder checklist items and labels
- Filter by labels
- Sort the whole board or one column by due date
- Import/export board JSON, or start a new blank board
- Optional auto-backup to a local JSON file with a previous-copy backup
- Optional local file/image attachments per card, with image previews when available
- Dark and light themes
From File Explorer, double-click Kanban.html.
From PowerShell:
Start-Process .\Kanban.htmlChrome or Edge is recommended if you want Auto Backup or file picker features, because those depend on the File System Access API. Other modern browsers can still use the board, localStorage autosave, and manual import/export fallback behavior.
There is no build step, package manager setup, local server, or npm project. The tracked application code is in Kanban.html.
The current implementation is intentionally small and dependency-light:
- CSS lives in the
<style>block near the top ofKanban.html. - React app code lives in the
<script type="text/babel">block near the bottom. - Board data is saved as schema version
2underlocalStoragekeykb-v2. - Older
kb-v1data is migrated on load. - Auto Backup and attachment handles are stored through IndexedDB and browser file handles.
There are no automated tests, lint commands, or build checks.
Use this manual smoke test before shipping changes:
- Open
Kanban.htmlin Chrome or Edge. - Add a card, edit its title and notes, then reload and confirm it persisted.
- Drag a card between columns and drag a column to reorder it.
- Add, rename, recolor, reorder, filter by, and remove labels.
- Add checklist items, reorder them, toggle them, and confirm card previews update.
- Set due dates and sort one column and the whole board by due date.
- Export JSON, create a new board, import the JSON, and confirm the board returns.
- Try Auto Backup in Chrome or Edge and confirm the live and previous JSON files update.
- Add an image attachment, confirm its preview appears, reload, and try opening it.
- Toggle dark/light theme and reload.
The board autosaves to browser localStorage. For safer storage, use Backup > Auto Backup to choose a local JSON backup file.
Local attachments are browser-local file handles. Exported JSON keeps attachment metadata, but another browser or machine may need files re-added.
Auto Backup uses the browser's local file access features.
Your browser will ask for permission to edit the chosen JSON file. Folder-based backup will also ask for access to the backup folder so Tiny Kanban can update the live backup and previous copy. Chrome may describe this as file:/// can edit the following files and folders. You can remove this access at any time.
Reloading the page does not affect Auto Backup. Closing the page and opening it again will make the browser re-request permissions to edit the local JSON file.
Auto Backup is fully optional. If you do not want to grant extra file permissions, the board still autosaves in the browser and manual import/export still works. No additional permissions needed.
The most sensitive areas are persistence, import/migration, backup permissions, attachments, and drag/drop behavior. Avoid changing storage keys, JSON schema, backup semantics, or attachment behavior unless you have a specific migration or compatibility plan.
Local *.json files are ignored by git and are treated as personal board data or backups.
Kanban.html- the appicon.ico- browser tab iconscreenshots/- README screenshotsLICENSE- project license.gitignore- ignores local board JSON backups

