finds.dev← search

// the find

codedogQBY/ReadAny

★ 2,058 · TypeScript · NOASSERTION · updated Jul 2026

AI-powered cross-platform e-book reader with semantic search, RAG chat, local vector store, notes, TTS, and WebDAV sync.

ReadAny is a local-first e-book reader for desktop (Tauri/Rust) and mobile (Expo/React Native) that lets you chat with your books via RAG, run semantic search across your library, and sync highlights via WebDAV. It targets developers and power readers who want AI reading features without uploading their library to a cloud service.

The hybrid BM25 + vector search is a genuine improvement over keyword-only search in Calibre or Apple Books — most projects pick one and stop. The monorepo sharing core logic between Tauri desktop and Expo mobile via a shared `packages/app` structure is well thought out; the custom native Expo modules for volume-key paging and system TTS synthesis show they actually tested on real devices rather than just simulators. LangChain.js + Transformers.js means embeddings run fully offline with no API key required, which is consistent with the local-first promise. The Skills system (built-in + custom) is a better abstraction than raw chat prompts for repeat reading tasks like summarizing chapters or tracking characters.

The docs folder has 12+ planning documents for a CLI that doesn't appear to be shipped yet, which is a red flag for scope creep — the core reader feature set may be racing ahead of stability. PDF support is listed but flagged on the roadmap as needing reflow/re-render work, which means adopting this for a PDF-heavy library is a gamble right now. WebDAV conflict resolution is described as 'smart merge' with no detail on what that actually means — concurrent edits to highlights from two devices are likely to silently stomp each other. The iOS version is still TestFlight-only, so anyone serious about iOS use is dependent on a beta distribution channel with no guarantee of App Store availability.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →