Inspiration
I often needed a lightweight task management tool — something faster and simpler than traditional project tools. Most solutions felt bloated or required sign-ups. So I built banban, a minimalist, local-first Kanban board that just works out of the box.
What it does
banban lets you create multiple boards, each with columns and draggable cards. You can add/edit/delete cards, organize them across columns, and everything is saved locally in your browser. It supports light/dark mode, has a clean, responsive UI, and requires no login or backend setup.
How we built it
We built banban as a browser-based SPA using modern web technologies (details omitted). Key features include:
A structured state model for Workspace → Board → Column → Card
localStorage for instant persistence
Drag-and-drop interactions for cards and columns
A minimal UI system inspired by Vercel and Linear, with responsive layout and dark mode toggle
Challenges we ran into
Designing a scalable yet simple local data model without a backend
Making drag-and-drop smooth and intuitive across multiple levels (columns ↔︎ cards)
Handling reactivity and UI state updates when cards move or get edited
Balancing minimalism with enough functionality to be useful
Accomplishments that we're proud of
- Fully functional board + card system with no backend
- Smooth user experience using only browser-native storage
- Launch-ready responsive UI that feels professional and fast
- Building something people could use immediately — with zero setup
What we learned
- Designing local-first apps forces you to think about offline resilience and user state
- Even without a backend, it’s possible to build polished tools that feel responsive and useful
- Simplicity takes work — removing features can be harder than adding them
What's next for BanBan
- Add keyboard shortcuts and card checklist support
- Add import/export options for backup
- Potential Firebase or Supabase integration for multi-device sync
- Collaborator support for shared boards
Log in or sign up for Devpost to join the conversation.