🚀 Self-hosted Readwise alternative for syncing highlights from Kobo eReaders and Amazon Kindle
OmniSync is a macOS application that automatically syncs your reading highlights from Kobo and Kindle devices, exports them to beautifully formatted Markdown files, and prepares them for NotebookLM analysis or Apple Notes export.
- 📚 Kobo Sync - Automatically detect and sync highlights from Kobo eReaders (via NickelMenu)
- 📖 Kindle Sync - Browser-based scraping with smart authentication and anti-bot detection
- 🔄 Smart Deduplication - Automatically removes duplicate highlights across sources
- 📝 Markdown Export - Individual files per book + merged library for NotebookLM
- 🍎 Apple Notes Integration - One-click export of all highlights to Apple Notes
- 📊 Statistics Dashboard - Track your reading progress and highlight counts
- 🎯 Language Detection - Automatic language identification for all highlights
- 🧠 NotebookLM Ready - Optimized merged output for AI analysis
Sync highlights from both Kobo and Kindle with a single click
- macOS 15.0 (Sequoia) or later
- 500 MB free disk space
- WiFi network (for Kobo sync)
- Internet connection (for Kindle sync)
Download OmniSync v1.0.dmg (171 MB)
- Download and open
OmniSync-v1.0.dmg - Drag OmniSync.app to Applications folder
- Right-click OmniSync.app → Open (first launch only)
- Follow the detailed installation guide
Note: The app is ad-hoc signed (not notarized). You'll see a security warning on first launch - this is normal. Use Right-click → Open to bypass.
-
Install NickelMenu on your Kobo (one-time setup)
- Download from: https://github.com/pgaskin/NickelMenu/releases
- Copy
KoboRoot.tgzto.kobofolder on Kobo - Restart Kobo to install
-
Enable KoboReader Server
- Tap NickelMenu → KoboReader Server → Toggle ON
- Note your Kobo's IP address
-
Configure OmniSync
- Launch OmniSync
- App will auto-detect Kobo on your network
- Or manually set IP in settings if needed
- Launch OmniSync and select Kindle sync
- Browser will open to Amazon login page
- Sign in with your Amazon account
- Complete 2FA if prompted
- Highlights will auto-sync (authentication persists)
# Clone the repository
git clone https://github.com/helencute/omnisync.git
cd omnisync
# Install dependencies
pip install -r requirements.txt
# Install Playwright browsers (for Kindle sync)
playwright install chromium
# Run from source
python3 main.pyOr download the DMG from Releases!
omnisync/
├── agents/ # Data ingestion modules
│ ├── kobo_ingestor.py # Kobo highlight fetcher
│ ├── kindle_ingestor.py # Kindle scraper
│ ├── normalizer.py # Deduplication & validation
│ └── publisher.py # Markdown export
├── gui/ # CustomTkinter interface
│ └── app.py # Main GUI application
├── scripts/ # Utility scripts
│ └── merge_for_notebooklm.py # Merge highlights
├── main.py # CLI orchestrator
├── omnisync.spec # PyInstaller configuration
├── config.yaml # Application configuration
└── requirements.txt # Python dependencies
# Install PyInstaller
pip install pyinstaller
# Build .app bundle
pyinstaller omnisync.spec
# Find built app in dist/OmniSync.appFor DMG creation, see DMG_TESTING.md
- Kobo: Connects to your Kobo's WiFi HTTP server (enabled via NickelMenu), downloads
KoboReader.sqlite, and extracts highlights - Kindle: Launches browser automation (Playwright) with anti-detection, scrapes Amazon notebook page
- Normalization: Deduplicates highlights, detects language, validates data
- Publishing: Exports to Markdown files organized by book
- Merging: Combines all books into single file optimized for NotebookLM's 200万 token context window
- 📚 Personal Knowledge Base - Build a searchable library of all your highlights
- 🧠 NotebookLM Analysis - Upload merged library to AI for cross-book insights
- 🍎 Apple Notes Sync - Access highlights across all Apple devices
- 📊 Reading Analytics - Track what you highlight and when
- 🔄 Multi-Device Sync - Keep Kobo and Kindle highlights in one place
Contributions are welcome! Whether it's:
- 🐛 Bug reports
- 💡 Feature requests
- 📖 Documentation improvements
- 🔧 Code contributions
Please open an issue or submit a pull request.
MIT License - see LICENSE file for details
- NickelMenu by pgaskin - Makes Kobo sync possible
- Playwright - Browser automation for Kindle sync
- CustomTkinter - Modern GUI framework
This project is not affiliated with Kobo, Amazon, or Readwise. It's a personal tool created for managing reading highlights.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
⭐ If you find OmniSync useful, please star this repository!
