

This is the perfect example, honestly. Same spirit: a real problem, solved fast with the tool in hand. Hope the acres-done feature compiles before you finish the field 😄


This is the perfect example, honestly. Same spirit: a real problem, solved fast with the tool in hand. Hope the acres-done feature compiles before you finish the field 😄


Thanks for the suggestion. I know Audiobookshelf, but it’s audiobook-first and the EPUB side is basic, it doesn’t do the KOReader ↔ web position sync I built this for. And no worries about the AI part, I was upfront in the post on purpose. You don’t have to use it or like it. I built it for myself, it works for me every day, and I shared it in case it’s useful to someone else. That’s all.


Yeah they look great. One thing I focused on that I haven’t seen in them: a real offline-first PWA, books cached locally so I can read with no signal, and it syncs back when I’m online. That’s my main daily use case (train, no wifi), so it’s the part I cared most about.


Touché 😄 Honestly that’s the one feature I can’t compete with: a book has infinite battery and zero downtime. Best I can do is offline caching.


Not a problem for me, because my sync is manual, not automatic. I assigned it to a gesture (tap the top-right corner): wifi on, sync, done. Waking the device doesn’t trigger anything, so I never get that “jump to latest position?” dialog.
I did it this way mainly for battery, I don’t want wifi turning on every time the Kobo wakes up. And I push my position at the end of my reading, so the server is always up to date and there’s nothing stale to pull next time.
I did think about auto-syncing when you open a book, but haven’t done it yet, partly for the reasons you mention. For now the manual gesture works well for me.


Genuine question, which ones? I searched a lot before building this and didn’t find one that syncs both the reading position AND the reading time between a web reader and an e-reader. If you know one, I really want to hear it.
Small correction: OPDS is just for browsing/downloading books, it doesn’t carry your reading position. KOReader syncs that through kosync, which is a different thing. And kosync only syncs the position, not the reading time. On top of that, the position is stored in a KOReader-only format (XPointer), while web readers use a different one (CFI), so they don’t understand each other.
That’s the whole reason I made the plugin + my own “pivot” format: so my Kobo and my phone actually land on the same spot, with the reading time too. Maybe not the only solution, but I couldn’t find it ready-made.


Of course sir, here are the keys: API_KEY=aGVjayBvZmYgbWF0ZQ== (decode it if you dare)


Same energy as “I don’t need GPS, I have the stars” 😄 But fair enough, no problem if a real book works for you! The hard part of my project is not the library, it’s syncing the reading position between my Kobo and my phone. I put a lot of work and testing into that part. It’s been my daily reader for 3 months. Code is here if you want to look: https://github.com/ndieschburg/varbook
Funny timing, I’ve been playing with Jellyfin lately too and I ended up forking a little project to bridge Plex into Jellyfin: https://github.com/ndieschburg/xtream-to-strm-web
It syncs your Plex.tv libraries (even shared servers you don’t own) into .strm and .nfo files, so Jellyfin just picks them up as a normal library and you can watch everything from any Jellyfin client. There’s a built-in proxy that hides the Plex tokens from the STRM files, and for clients that don’t follow HTTP redirects (like Findroid) there’s an HLS proxy mode so it still plays fine.
Still a bit rough but it does the job if you want to keep a single Jellyfin frontend and still reach the stuff that only lives on Plex.