u/ConfidentBunch7563

▲ 18 r/ePub+1 crossposts

I built a self-hosted EPUB library with cross-device reading position sync

After years of reading on multiple devices (Kobo, Linux laptop, phone) and struggling to keep my reading position in sync, I decided to build my own solution.

VarBook is a self-hosted web app that lets you:

  • Upload EPUBs (drag & drop or via a Calibre plugin for batch uploads)
  • Read in the browser with a built-in epub.js reader (PWA, works offline)
  • Serve your library via OPDS to any compatible reading app
  • Sync reading positions between the web reader and KOReader on Kobo e-readers

The trickiest part was syncing positions between epub.js (which uses CFI, an XPath-like pointer into the HTML DOM) and KOReader (which uses its own page-based engine with xpointers). I ended up using chapter + percentage within chapter as a common ground. Not pixel-perfect, but way better than tapping "next page" 70 times to catch up.

The app also tracks reading stats (time, sessions, progress) and supports multiple users.

Open source, trilingual (EN/FR/ES), feedback welcome!

reddit.com
u/ConfidentBunch7563 — 3 days ago