Conrad Reader
Conrad Reader is a personal novel reader built as a Next.js PWA with a brutalist, distraction-free UI. Import books in EPUB, PDF, MOBI, or plain text and read entirely in the browser — metadata, files, and reading progress live in IndexedDB so your library works offline after the first load.
Each format gets a dedicated reader: EPUB with chapter navigation and CFI-based progress, PDF via pdf.js, MOBI through a dedicated parser, and TXT with scroll-position tracking. Tap a word to look it up in a built-in dictionary popup. Collections, search, sort, and a "pile" inbox keep large libraries manageable without leaving the app.
Reading stats track daily minutes and streaks. Per-book settings cover fonts, themes, grid layout, margins, and reading modes (paginated vs scroll). A service worker and web manifest make it installable on phone and desktop — closer to a native reader than a tab you lose in the browser chrome.
I built this because I wanted one place for every ebook format I actually own, with typography I control and no sync server required.
Usage
pnpm install
pnpm devOpen http://localhost:3000, import a book, and start reading.