Modern Kanban task manager with Obsidian/Linear-inspired UI, auto-sync with cron jobs, and WebSocket live updates.
- Kanban Board - Drag-and-drop columns (Backlog → To Do → In Progress → Done)
- List View - Sortable table with all task details
- Calendar View - Due date visualization with month navigation
- Graph View - Dependency and relationship visualization
- Analytics Dashboard - Task completion stats and charts
- ✅ Full CRUD operations (Create, Read, Update, Delete)
- 🔄 Auto-sync with cron jobs
- 🎯 Priority levels (Urgent, High, Medium, Low)
- 🏷️ Categories and tags
- 📅 Due dates
- 🔍 Real-time search
- 🎨 Dark/Light mode toggle
- ⌨️ Keyboard shortcuts
- 📦 Bulk operations (select multiple, update status, delete)
- 💾 Export tasks (JSON, CSV)
- 🎨 Beautiful, responsive UI
- Backend: Node.js + Express
- Storage: File-based JSON (no database needed!)
- Frontend: Vanilla JavaScript (no framework bloat)
- Styling: Custom CSS with CSS variables
- Icons: Feather Icons (SVG)
# Clone the repo
git clone https://github.com/nihar5hah/task-manager.git
cd task-manager
# Install dependencies
npm install
# Start the server
npm startServer runs on http://localhost:3000
- Open http://localhost:3000 in your browser
- Click + New Task to create tasks
- Drag tasks between columns
- Click any task to edit details
- Use filters and search to find tasks
Get all tasks
GET /api/tasksCreate task
POST /api/tasks
Content-Type: application/json
{
"title": "My Task",
"description": "Task details",
"status": "todo",
"priority": "high",
"category": "project",
"dueDate": "2026-02-15",
"tags": ["urgent", "backend"]
}Update task
PUT /api/tasks/:id
Content-Type: application/json
{
"status": "done"
}Delete task
DELETE /api/tasks/:idBulk update
POST /api/tasks/bulk-update
Content-Type: application/json
{
"ids": ["id1", "id2"],
"updates": {"status": "in-progress"}
}Bulk delete
DELETE /api/tasks/bulk-delete
Content-Type: application/json
{
"ids": ["id1", "id2"]
}Sync with cron jobs
POST /api/sync| Shortcut | Action |
|---|---|
Cmd/Ctrl + K |
Open command palette |
N |
New task |
B |
Toggle bulk select mode |
Cmd/Ctrl + E |
Export tasks |
/ |
Focus search |
Esc |
Close modals |
- Drag & Drop: Move tasks between columns
- Inline editing: Click to edit task details
- Real-time updates: Changes sync instantly
- Responsive design: Works on desktop, tablet, mobile
- Dark mode: Eye-friendly interface
- Smooth animations: Polished interactions
task-manager/
├── public/
│ ├── css/
│ │ └── style.css # All styling
│ ├── js/
│ │ └── app.js # Frontend logic
│ └── index.html # Main UI
├── server.js # Express server + API
├── tasks.json # Task storage (auto-created)
└── package.json
The /api/sync endpoint can pull tasks from your cron configuration:
curl -X POST http://localhost:3000/api/syncExport tasks as JSON and pipe to other tools:
curl http://localhost:3000/api/tasks | your-toolFeel free to:
- Report bugs
- Suggest features
- Submit pull requests
ISC License - feel free to use this however you want!
- WebSocket support for real-time multi-user sync
- Task dependencies and relationships
- Time tracking
- Comments and attachments
- Mobile app
- API authentication
Built with ❤️ for productive task management