Introduction
Crossbill is a self-hosted reading companion. It collects the passages you highlight, in its own web reader or on your e-reader, and gives you tools to study them.
You can upload an EPUB, read it in the browser and highlight as you go. If you read in KOReader, its plugin syncs your highlights to Crossbill.
The idea
Section titled “The idea”Crossbill follows the reading method in Mortimer J. Adler’s How to Read a Book.
- Skimming: before you read a chapter properly, find out what it contains. A chapter digest helps with this. It is an AI-made summary with key points and comprehension questions. You can also use it for review after reading.
- Coming to terms with the author: while you read, you tag highlights and write notes about the terms, characters and concepts in the book.
- Reflection: when you finish, you write a book reflection. It holds your answers to Adler’s four analytical questions about the book. Each answer is a note.
Flashcards made from highlights, chapters and notes help you remember what you read. A reading stage on each book shows how far you are with it. You set the stage yourself.
The components
Section titled “The components”- Backend API: a FastAPI server with a PostgreSQL database. It stores your library and serves the web frontend and the plugins.
- Web frontend: the React app where you browse and organize your library, upload EPUBs and read them in the web reader.
- KOReader plugin (optional): runs on your e-reader and syncs highlights to Crossbill.
- Obsidian plugin and Anki add-on (optional): bring your highlights and flashcards into Obsidian and Anki.
The app also runs a background worker for long AI jobs. By default it runs inside the app, and you can move it to a separate container. For setups where the app and the worker cannot share a filesystem, you can use S3-compatible storage. See Optional components.
To install Crossbill, go to Installation.
