n2024
@n2024@lemmy.world
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 15 hours ago:
Okay folks, a word on the vibe-coding thing, since I can see it stirred up a lot and clearly rubs some of you the wrong way. Let me just drop a few numbers so you have an idea of what this actually is.
I started this project in February. I work on it mostly in the evenings, after my day job. Over ~4 months I estimate I’ve put around 100 hours into it. I use it every single day, and I’ve tested and optimized it quite a bit. So no, this isn’t some thing I threw together in 2 hours with zero investment.
Yes, I built it with AI in the loop. But without it, I’d never have had the time to make something this “polished” on the side. And honestly, why would I deny myself that on a personal project? When a carpenter builds a piece of furniture, I don’t hold it against him for using a power drill instead of a hand brace.
That’s it, just a small rant. I won’t engage with the AI criticism beyond this. Back to talking about the actual software for anyone interested. Cheers.
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 16 hours ago:
Honestly, partly history. When I started, I wasn’t sold on KOReader yet, and the project began as a simple catalog just to push EPUBs easily onto my phone and my wife’s phone. Then I thought “why not read them right here”, so I built the PWA reader. Later I grew to really like KOReader, and that’s when I wrote the plugin.
But there’s also a real reason it’s not just KOReader-on-everything: my wife and I read in the browser (the PWA), not in KOReader. KOReader-sync only works between KOReader instances, and it only syncs the position, not reading time. I wanted the web reader in the loop, and stats too, so I needed something that bridges KOReader and a browser reader. That’s the whole point of the pivot format.
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 16 hours ago:
Thanks, glad it speaks to you! Right now it’s EPUB-only. That was my own need, and the whole thing is really built around book reading (reader, fonts, cross-device position sync, reading stats), so I focused on doing that one format well rather than handling everything.
CBZ/comics would need a different reader and a different idea of “reading position”, so it’s not on the roadmap for now. But if you give it a try, I’d love to hear how it goes.
- Comment on Why I moved my Plex library to Jellyfin after 14 years 23 hours ago:
Funny timing, I’ve been playing with Jellyfin lately too and I ended up forking a little project to bridge Plex into Jellyfin: 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.
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 23 hours ago:
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 😄
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 1 day ago:
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.
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 1 day ago:
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.
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 1 day ago:
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.
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 1 day ago:
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.
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 1 day ago:
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.
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 1 day ago:
Of course sir, here are the keys: API_KEY=aGVjayBvZmYgbWF0ZQ== (decode it if you dare)
- Comment on I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phone 1 day ago:
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: github.com/ndieschburg/varbook
- I read every day but rarely have my e-reader on me — so I built a self-hosted EPUB library that syncs my reading position between my Kobo and my phonevarbook.hophop.be ↗Submitted 1 day ago to selfhosted@lemmy.world@lemmy.world | 56 comments