I have two young sons, and honestly, only when their "batteries" are fully drained for the day does the remaining time truly belong to me. That's when I finally get to spend time reading online—blogs, long-form articles, and newsletters.
I relied on Omnivore to handle this. I have to say it was a great tool, but one day they suddenly announced they were shutting down the service, leaving us with very little time to migrate. That was the first time I truly felt like I was being kicked out. I spent so much time collecting content I loved, but in the end, it was stored in someone else’s repository—it felt as though those things never really belonged to me.
After that, I tried several alternatives like EpubPress, dotepub, etc. They were okay, but they all had limitations—like conversion limits, service interruptions, or being too complicated to use (they had way too many input fields; some parameters I didn’t even understand hahah... I just wanted to click a button and get it done). More importantly, my data was dependent on someone else’s servers.
It consists of two main parts: a browser extension that captures open tabs or bookmarks, and a desktop app that converts them into clean, readable EPUBs. The two communicate via a local HTTP port. The entire conversion process happens right on your machine—no data ever leaves your computer.
You use it, you own it.
One more thing,
I also work with a lot of academic papers, so I added a PDF to EPUB feature. It uses AI to handle complex math typesetting and OCR. It really put me through the mill. I would certainly prefer to handle PDF OCR locally as well, but current local models are not yet mature enough. Running a powerful OCR model requires a high-performance PC, making it difficult for me to strike a balance between recognition accuracy and hardware requirements. Therefore, it is currently implemented using well-known, high-quality LLMs such as Mistral and DeepSeek, so it is a paid feature.
I wrote the full story behind the project here: https://any2ebook.com/story
I'd love to hear your thoughts on the local-first approach!