Inspiration
In many environments—schools, offices, homes—teams need to collaborate and share content without relying on cloud services or internet connectivity. We were inspired by the need for a privacy-first, local-network collaboration tool that works anywhere, anytime, without sending data to external servers.
What it does
Local Collaborative Workspace is a real-time collaborative canvas application for local networks. Users can:
- 📝 Create and organize notes, files, folders, and images on an infinite canvas
- 👥 Collaborate in real-time with multiple users on the same network
- 🖱️ See live cursors of other participants
- 📱 Access from any device (desktop, tablet, mobile) via browser
- 📤 Drag-and-drop file uploads directly onto the canvas
- 🔒 Keep all data local—no cloud, no internet required
How we built it
We used Kiro's spec-driven development approach to systematically design and implement the project:
- Requirements Phase: Defined user stories and acceptance criteria using EARS patterns
- Design Phase: Created architecture diagrams and component specifications
- Implementation: Built incrementally following the generated task list
Architecture
- Frontend: React 19 + TypeScript + Vite + Zustand for state management
- Backend: Node.js + Express + Socket.io for real-time WebSocket communication
- Database: SQLite for local persistence
- VS Code Extension: Integrated experience with server management and embedded canvas
Key Technical Decisions
- WebSocket-first: All canvas operations sync in real-time via Socket.io
- Last-write-wins: Simple conflict resolution for collaborative editing
- Responsive design: Works on any screen size with touch support
- Zero configuration: Auto-discovers network settings, just run and share the URL
Challenges we ran into
- Real-time synchronization: Ensuring smooth updates across multiple clients without conflicts
- Cross-platform compatibility: Making drag-and-drop work consistently on desktop and mobile
- Network discovery: Automatically finding the correct local IP address to share
- VS Code WebView integration: Embedding the full React app inside VS Code's WebView API
Accomplishments that we're proud of
- ✅ Full real-time collaboration with live cursor tracking
- ✅ VS Code extension that bundles the entire application
- ✅ Clean, modern UI with dark mode support
- ✅ Zero external dependencies for data storage
- ✅ QR code generation for easy mobile access
What we learned
- How to use Kiro's spec-driven workflow to break down complex features
- Building VS Code extensions with WebView panels
- Implementing optimistic UI updates with WebSocket synchronization
- Managing shared state between multiple real-time clients
What's next for Local Collaborative Workspace
- 🔐 Optional end-to-end encryption for sensitive environments
- 📊 Canvas templates for common use cases (brainstorming, kanban, etc.)
- 🎨 Rich text editing for notes
- 📁 Folder hierarchy and organization features
- 🌐 Optional cloud sync for cross-network collaboration
Log in or sign up for Devpost to join the conversation.