A desktop app for personal book library management with semantic search. Import your Kindle library, enrich with OpenLibrary metadata, and search by meaning rather than just keywords.
- Import Kindle Library: Parse Safari webarchive exports from read.amazon.com
- Metadata Enrichment: Automatically fetch book details from OpenLibrary (descriptions, subjects, publish dates)
- Semantic Search: Find books by meaning using sentence embeddings (multi-qa-mpnet-base-cos-v1)
- Keyword Search: Full-text search with SQLite FTS5
- Keyboard Navigation: Arrow keys to navigate results, Enter to expand
- Frontend: Svelte + TypeScript + Vite
- Backend: Rust + Tauri v2
- Database: SQLite + sqlite-vec (vector search)
- Embeddings: ONNX Runtime (multi-qa-mpnet-base-cos-v1 model)
# Install dependencies
cd ui && npm install
# Start dev server
cd ui && npm run dev # Svelte dev server on port 5173
cargo tauri dev # Run Tauri app in dev mode
# Build release
cd ui && npm run build
cargo tauri build- Database:
~/Library/Application Support/Ook/books.db - The ONNX model is bundled with the app (~416MB)
- Open Safari and go to read.amazon.com
- Sign in with your Amazon account
- Scroll down repeatedly until all your books are loaded (the page lazy-loads as you scroll)
- From the menu bar, choose File > Save As...
- Set Format to "Web Archive"
- Save the file, then use Ook's Import tab to select it
This tool processes user-provided HTML files and makes no network requests to Amazon. Users are responsible for compliance with any applicable terms for services they use. Ook is intended for personal library management.
Apache-2.0
See THIRD_PARTY_LICENSES.txt for third-party component licenses.
Note: The embedding model (multi-qa-mpnet-base-cos-v1) is Apache-2.0 licensed, but its training data includes datasets with commercial use restrictions.