OpenHighlights – open-source web and PDF highlighter for Chrome OpenHighlights, an open-source Chrome extension from developer dev-kleo, launched its Phase 1 MVP for highlighting text on webpages and PDFs, attaching Markdown notes, and organizing highlights with tags and collections. The extension stores all data locally in IndexedDB with no accounts, analytics, sync, or remote API, and exports to Markdown, JSON, or plain text; it is built with React, TypeScript, Vite, Tailwind CSS, Zustand, Dexie, and PDF.js. Phase 2 features such as AI and sync are not yet built, though the codebase already defines FutureSyncAdapter and FutureAiAdapter extension points in src/types. Privacy-first Chrome extension for highlighting text on webpages and PDFs, attaching notes, organizing knowledge with tags and collections, and exporting everything offline. Phase 1 MVP — fully local, no accounts, no cloud, no AI. - Highlight webpage text with a floating toolbar or right-click menu - Five highlight colors with persistence across reloads - Markdown notes per highlight editable, with character counter - Collapsible Chrome side panel with search, filters, tags, collections, and export - PDF viewing and highlighting via PDF.js - Instant search across highlight text, notes, and page titles - Custom tags and collections - Export to Markdown, JSON, or plain text - Popup with today’s highlights, recent items, and quick actions - Options page for theme, default color, font size, backup, and shortcuts - Keyboard shortcuts: Ctrl+Shift+H , Ctrl+Shift+N , Ctrl+Shift+S React · TypeScript · Vite · Tailwind CSS · Zustand · Dexie IndexedDB · PDF.js · Vitest · Lucide npm install npm run dev Load the unpacked extension from dist/ in Chrome chrome://extensions → Developer mode → Load unpacked . See docs/INSTALLATION.md https://github.com/dev-kleo/OpenHighlights/blob/main/docs/INSTALLATION.md for a full install guide. | Command | Description | |---|---| | npm run dev | Vite + CRXJS development build with HMR | | npm run build | Typecheck and production build to dist/ | | npm run test | Run Vitest unit tests | | npm run lint | ESLint | | npm run format | Prettier | | npm run typecheck | TypeScript only | Feature-based layout under src/ — see docs/ARCHITECTURE.md https://github.com/dev-kleo/OpenHighlights/blob/main/docs/ARCHITECTURE.md . All data stays in IndexedDB on your device. There is no analytics, sync, or remote API in Phase 1. See CONTRIBUTING.md https://github.com/dev-kleo/OpenHighlights/blob/main/CONTRIBUTING.md . See ROADMAP.md https://github.com/dev-kleo/OpenHighlights/blob/main/ROADMAP.md for Phase 2+ ideas AI, sync, etc. . Extension points already exist in src/types FutureSyncAdapter , FutureAiAdapter .