Back to Projects

MiniNote

TypeScript Vite PWA Loro CRDT ProseMirror Node.js WebSocket SQLite
MiniNote - Real-time collaborative note-taking PWA with folders and rich-text editing

About

MiniNote is a fast, offline-first note-taking web app that keeps every device in sync in real time. Notes live in folders, support rich-text editing, and can be published behind a stable or random link with a single click. Conflict-free sync is powered by Loro CRDTs, so simultaneous edits from multiple devices merge cleanly without a central source of truth.

Features

  • Real-time multi-device sync powered by Loro CRDT
  • Offline-first PWA — install to home screen, edit without a network
  • Rich-text editor with checkboxes, code blocks, images, and tables
  • Folder tree for organizing notes, with drag-and-drop reordering
  • Per-note version history with one-click restore
  • Publishing with stable or random shareable URLs
  • Google sign-in for cross-device account sync
  • iOS Shortcuts integration to capture links and text from the share sheet

Technologies

The client is a Vite-built TypeScript PWA using ProseMirror for the editor and loro-prosemirror for CRDT bindings, with Workbox handling precaching and offline support. The server is a Node.js WebSocket service backed by better-sqlite3 for durable storage and the Google Auth Library for token verification.