A lightweight, offline-first Kanban task manager — single HTML file, zero dependencies, works directly in the browser.
| Feature | Description |
|---|---|
| 🗂 Kanban Board | Drag & drop tasks between customizable columns |
| ✅ Subtasks | Subtasks with checkboxes and progress bar per card |
| ⏱ Timers | Per-task countdown timers with start / pause |
| 📅 Deadlines | Deadline badges with urgency highlighting (3 days) |
| 🔔 Reminders | DateTime reminders with startup popup |
| ⚡ Inbox | One-time incoming tasks, separate from the board |
| 🗄 Archive | Completed tasks auto-archive with restore |
| ✈ Telegram | Optional bot integration for notifications |
| 💾 Import / Export | Full data export and import as JSON |
| 🌐 Multilingual | English / Russian / Ukrainian — toggle in header |
| 🎨 Dark UI | Terminal-inspired dark theme, no external CSS |
Run locally — no server needed:
git clone https://github.com/mykhailo-kotsar/devops-board.git
cd devops-board
open index.html # macOS
xdg-open index.html # Linux
start index.html # WindowsGitHub Pages:
- Fork this repo
- Go to Settings → Pages
- Set source:
mainbranch, root/ - Live at
https://your-username.github.io/devops-board/
devops-board/
├── index.html # Full application — single file
└── README.md
| Action | How |
|---|---|
| Add task | Click + in column header or + Add task at bottom |
| Edit task | Click ✏ on the card |
| Move task | Drag and drop between columns |
| Complete task | Click ✓ — moves to archive automatically |
| Delete task | Click ✕ (with confirmation) |
| Field | Description |
|---|---|
| Title | Required |
| Description | Optional details |
| Priority | High 🔴 / Medium 🟡 / Low 🟢 — colored left border |
| Subtasks | Individual checkboxes + progress bar |
| Timer | Duration in minutes, start/pause with ▶/⏸ |
| Deadline | Badge turns red within 3 days |
| Reminder | Date + time, popup fires at that moment |
| Group | Which column the task belongs to |
- Add:
+button at the right edge of the board - Rename: ✏ in the column header
- Delete: ✕ in the column header (removes all tasks inside)
- Colors: Blue, Orange, Green, Red, Purple, Cyan
One-time tasks that don't fit the regular workflow (e.g. "Fix server issue"):
- Add via ⚡ Incoming in the header
- Mark done by clicking the task text
- Archive with
→or delete with✕
- Completed tasks move here automatically on ✓
- Expand the archive panel at the bottom
- Restore any task with ↩
- Clear all with Clear archive
Notifications on task complete, timer expire, and reminders.
Setup:
- Create a bot via @BotFather →
/newbot - Copy the Bot Token
- Get your Chat ID from
https://api.telegram.org/bot<TOKEN>/getUpdates - Open ⚙ Settings → enter Token and Chat ID → enable toggle → Test connection
| Event | Message |
|---|---|
| Task completed | ✅ Task completed: <title> |
| Timer expired | ⏱ Timer expired: <title> |
| Reminder fired | 🔔 Reminder: <title> |
All data is saved to browser localStorage — no server, no account, no cloud.
⚠️ Incognito mode or clearing browser data will erase the board. Export your data regularly.
- Export: Settings → Export JSON — saves
devops_board_YYYY-MM-DD.json - Import: Header → ⬆ Import → select any previously exported
.json
Single HTML file — open and edit directly.
Default columns — edit S.columns in init():
S.columns = [
{ id: uid(), title: 'Backlog', color: '#6b7280' },
{ id: uid(), title: 'In Progress', color: '#f59e0b' },
{ id: uid(), title: 'Done', color: '#10b981' }
];Color theme — edit CSS variables:
:root {
--bg: #0a0c10;
--accent: #00d4ff;
--danger: #ef4444;
--success: #10b981;
}Add a language — extend LANGS object and add a button:
de: { settings: 'Einstellungen', cancel: 'Abbrechen', ... }<button class="lang-btn" onclick="setLang('de')">DE</button>Chrome 90+, Firefox 88+, Safari 14+, Edge 90+, Mobile Chrome, Mobile Safari.
- Fork the repository
- Edit
index.html - Test in at least two browsers
- Submit a pull request
MIT — free to use, modify, and distribute for any purpose.