MindYOB
Mind Your Own Business — a collaborative mind mapping and lightweight project management tool. Three synchronized views (mind map, spreadsheet, kanban) operate on the same shared data structure, with real-time multi-user sync powered by CRDTs.
What it does
- Interactive mind map canvas with Konva.js rendering, real-time layout computation, and collapsible branches
- Switch between mind map, spreadsheet, and kanban views — all bound to the same data model
- Rich topic details with Tiptap text editing, status/priority metadata, due dates, time estimates, and attachments
- Real-time collaborative editing using Yjs CRDTs with IndexedDB persistence and undo/redo support
- Extensive keyboard shortcuts for tree traversal, topic creation, view switching, and clipboard operations
- Dashboard with recent maps, quick create, and map management
Architecture
MindYOB uses a client-side-first architecture where Yjs manages all topic data with IndexedDB persistence, eliminating the need for immediate server round-trips. The three views bind to the same Yjs document so changes in one view are instantly reflected across the others. The Express.js backend handles user accounts, map storage in PostgreSQL, and file attachments via S3-compatible object storage. The whole stack is containerized with Docker Compose and served through Nginx.
Tech stack
Frontend
- Vue 3
- TypeScript
- Pinia
- Konva & vue3-konva
- TanStack Vue Table
- Tiptap
- Tailwind CSS v4
Backend
- Express.js v5
- PostgreSQL 17
- AWS S3 / MinIO
- Helmet
Real-Time & Data
- Yjs (CRDT)
- y-indexeddb
- Fractional indexing
- vuedraggable
Infrastructure
- Vite v7
- Docker Compose
- Nginx
- Vitest