π Introduction
I recently finished building an open-source project called ProKanban β a modern Kanban board application built entirely with Vanilla JavaScript, HTML5, and modern CSS.
The goal was simple:
Build a real productivity-style web app without using frameworks like React.
This project helped me improve my understanding of modular JavaScript architecture, UI state management, drag-and-drop interactions, and building real-world frontend features.
β¨ What is ProKanban?
ProKanban is a responsive Kanban task board where users can manage tasks across workflow stages:
- To Do
- In Progress
- On Hold
- Done
Itβs designed with a clean dark UI and includes productivity-focused features beyond basic task cards.
β Key Features
π§² Drag & Drop Workflow
Tasks can be moved smoothly between columns using drag-and-drop.
Touch drag support is included for mobile devices.
πΎ Persistent Storage
All tasks are automatically saved using the browserβs LocalStorage, so the board stays intact even after refreshing or closing the browser.
β±οΈ Task Time Tracking (Advanced Feature)
One of the most interesting parts of this project was building a timer system:
- Start/Pause timer directly inside a task card
- Track total time spent per task
- Store multiple work sessions
- Automatically stop timers when tasks move to Done or On Hold
Each task maintains a complete session history.
π Activity History Log
Every action is recorded:
- Task creation
- Task movement
- Deletion
- Timer events
This makes the board feel like a real productivity tool.
π€ Export / π₯ Import Support
Users can export their board data as JSON and import it later β useful for:
- backups
- portability
- sharing workflows
π± Fully Responsive UI
The layout adapts smoothly across devices:
- Desktop: 4-column workflow
- Tablet: grid layout
- Mobile: stacked layout
π οΈ Tech Stack
This project is built using:
- Vanilla JavaScript (ES6+)
- HTML5
- CSS3 (Grid, Flexbox, Variables, Glassmorphism)
- LocalStorage API
Libraries used:
-
canvas-confettifor celebration effects -
DragDropTouchfor touch drag support
π Modular Architecture
The project is structured into separate modules:
-
drag.jsβ Drag & drop logic -
timer.jsβ Time tracking system -
storage.jsβ Local persistence -
history.jsβ Activity logging -
ui.jsβ Rendering and UI interactions
Keeping the code modular made it much easier to scale features.
π Live Demo
Try it here:
π https://codewithsindhu.github.io/kanban-board-js/
π GitHub Repository
The project is fully open-source:
β https://github.com/CodeWithSindhu/kanban-board-js
Contributions, issues, and feedback are welcome.
π― What I Learned
Building ProKanban helped me practice:
- Managing state without frameworks
- Building modular JavaScript applications
- Handling drag-and-drop UX properly
- Implementing time tracking + logs
- Writing production-quality documentation
β Future Improvements
Planned roadmap features:
- Task filtering by priority/tags
- Search support
- Multi-board workflows
- Cloud sync (Firebase)
- React-based version
β Closing
If you find this project useful, feel free to star the repo or share feedback.
Thanks for reading! π

Top comments (0)