Offline-first note-taking and drawing web application with real-time collaboration
- Offline-First: Built with Dexie.js for robust local-first storage.
- Real-time Collaboration: Sync and collaborate across devices powered by Convex.
- Rich Text & Canvas: Seamlessly switch between markdown-style notes and infinite whiteboard.
Cellulose combines rich note-taking with a free-draw canvas similar to draw.io. Work seamlessly offline, share with friends via links, and optionally sync across devices with authentication.
Key Features:
- Rich note-taking with powerful editor
- Free-draw canvas with sketching and diagramming tools
- Full offline functionality
- Shareable links for viewing or collaboration
- Local storage using IndexedDB
- Optional sync across devices
- Real-time collaboration
- No forced login required
Frontend:
- Vanilla TypeScript + Vite
- Fabric.js / Excalidraw (canvas)
- Tiptap (rich text editor)
- IndexedDB via Dexie.js
- CSS Modules
Backend:
- Convex (Backend-as-a-Service)
- Real-time sync, authentication, caching
- TypeScript serverless functions
git clone https://github.com/yourusername/rewrite.git
cd rewrite
npm install
npm run devContributions are welcome. This is an open-source project built for fun and learning.
- Fork the repository
- Create your feature branch (
git checkout -b feat/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
MIT License - see the LICENSE file for details.
Amole Oluwatomiwa
- Twitter: @tomiwa_amole
- LinkedIn: Amole Oluwatomiwa
Amole Oluwaseun
Built with TypeScript, Vite, and Convex