Turning my e-book library into a searchable, private knowledge base
A book you've read but can't find the idea in is a book you've half-lost. I built a pipeline that turns my e-book library into a searchable, private knowledge base. 📚

The problem
I read a lot — technical books, science, ideas. But a book's value isn't in finishing it; it's in being able to find the idea again months later, when it matters. Flipping through a PDF or an EPUB to relocate one concept is slow, and the insight usually stays buried in the file.
I wanted my books to behave like a knowledge base: searchable by meaning, with the key ideas extracted and connected to my own notes.
The pipeline: e-book → Markdown → index → summary
The whole thing runs locally, on my own machine. Four stages:
EPUB/PDF ─▶ Markdown ─▶ index (RAG) ─▶ Obsidian summary
- Extract 🔧 — the book is converted to clean, structured Markdown (one file per book). Readable, diffable, indexable.
- Index 🗂️ — the Markdown is chunked and added to a local RAG index, so I can query it by meaning, not just by keyword.
- Summarise 📝 — for each book I write a rich Obsidian note: the big ideas, the key concepts developed as reference entries, a chapter-by-chapter breakdown, and a personal conclusion tied to my own context.
- Connect 🔗 — the summaries live in my notes vault, so they're indexed alongside my other notes and link back to the books.
Why Markdown as the middle format
Markdown is the hinge of the whole thing. It's plain text, so it's searchable, diffable, and versionable — and it's the native language of my notes vault. A book becomes just another set of notes I can link to and from, instead of a closed file format.
The RAG: querying by meaning
Once indexed, I can ask questions and get answers grounded in the actual text, with the source chapter and page:
# ask the book base a question
rag-ask.py "What does the book say about prioritisation?"
The retrieval sends only the relevant chunk to a lightweight model, so answers are fast, cheap, and traceable to the source. It's the same targeted RAG approach I use for application notes — applied to books.
The Obsidian summary: where the value lands
The summaries are the part I actually use. Each one is structured so the ideas are findable by concept, not just by book title:
- Big ideas — what the book argues, and when it's useful.
- Key concepts — each developed as a reference entry (definition, what it does, what it doesn't).
- Chapter breakdown — concepts and actions per chapter.
- Personal conclusion — how it applies to me, linked to my other notes.
Because the summaries live in my vault, they're indexed by the same RAG that searches my notes. A concept from a book I read months ago surfaces right alongside my own thinking.
Why this approach works
- Private. Books and summaries stay on my machine — no cloud, no third party.
- Searchable by meaning. The RAG finds ideas, not just keywords.
- Reusable. The summaries connect books to my notes, so reading compounds instead of fading.
- Cheap. Local extraction and indexing; a lightweight model for retrieval.
The goal isn't to "have read" a book. It's to be able to use it — to find the idea when it matters, and to connect it to what I already know.
In short
A private pipeline that turns my e-book library into a searchable knowledge base: Markdown extraction, a local RAG index, and rich Obsidian summaries that connect books to my notes. The payoff: the ideas in my books become part of my thinking, findable and reusable — not buried in files I can't search.
See also: Finding application notes fast with a targeted RAG — the same retrieval approach applied to technical documents.