
Part of the Digital Sovereignty series: Exploring how designers can transition from digital tenants to architects of their own infrastructure.
I’ve always loved the idea of a universal library. Start a chapter on a dedicated e-reader at home, leave the house, and pick up right where you left off on your phone during a commute.
But for years, achieving this meant surrendering to walled ecosystems. You either buy into the Amazon lock-in, or you wrestle with heavy, monolithic self-hosted clouds like Nextcloud that are overkill for just moving text files around.
In my previous post about migrating to Nextcloud, I talked about escaping the proprietary ecosystem trap. But while my files and photos were liberated, my reading habits were still tethered to Amazon.
The final push came recently when my work laptop started restricting USB devices. Suddenly, my Kindle was locked out. I couldn't sideload my books anymore. Instead of paying the "Friction Tax" of finding a workaround within a proprietary system, I decided to rethink my reading infrastructure entirely.
The goal? True digital sovereignty, zero friction, and a setup so lightweight it runs quietly in the background.
This project was inspired by the spirit of Digital Independence Day - a call to reclaim your digital life, one service at a time, every first Sunday of the month. It’s also in the same low-tech, resilient spirit as Low-tech Magazine, which demonstrates how sustainable, self-hosted infrastructure can empower individuals.
Here is how I sync my books, highlights, and reading progress across a jailbroken Kindle and an Android Fold5, using a simple VPS.
The Philosophy: Keep It Simple
When designing this architecture, I made a conscious choice to keep heavy cloud platforms out of the loop. I didn't need a full-blown Nextcloud instance just to sync a few megabytes of reading data. Instead, I separated the architecture into two distinct, purposeful paths: When designing this architecture, I made a conscious choice to keep heavy cloud platforms out of the loop. I didn't need to bloat my Nextcloud instance just to sync a few megabytes of reading data. Instead, I separated the architecture into two distinct, purposeful paths:
- Real-time Bidirectional Sync for my active books, reading progress and notes.
- A Pull-Based Library to download new books on demand from my full library.
- Real-time Bidirectional Sync for my active books, reading progress, and notes.
- A Pull-Based Library to download new books on demand from my full archive.
The Setup

The architecture relies on a few brilliant open-source tools:
- The Hub (VPS): A lightweight cloud server acting as the central node - also hosting my Nextcloud instance and other services. If you want to grow more digitally sovereign / independent, having a VPS (Virtual Private Server) is a good start - and they are available in any country. If you have a home, you can also create your own lightweight server - e.g. using a Raspberry Pi which gives you full physical control.
- The Reading Engine: KOReader, installed on both my jailbroken Kindle and my Galaxy Fold5. It’s open-source, highly customizable, and stores progress in easily accessible local files rather than a hidden database.
- The Sync Engine: Syncthing. It’s decentralized, secure, and runs quietly as a background service on all three nodes (VPS, Kindle, Android).
- The Library: Calibre-Web Automated (CWA) running on the VPS to serve my e-book archive.

The Flow
Instead of pushing my entire library to every device, the system handles data dynamically. Instead of pushing my entire library to every device—which goes against the principles of intentional tech use—the system handles data dynamically.
- 1. The Continuous Sync (Progress & Notes) This is where the magic happens. When I finish reading on the Kindle, KOReader updates a small metadata file locally. Syncthing instantly spots the change and pushes it to my VPS. From there, it syncs down to my Fold5. If I open KOReader on my phone later, the book opens to the exact sentence I left off on at home. My highlights and notes are always in a unified, current state across the entire "triad."
- 2. The OPDS Pull (New Books) I don’t want my entire library eating up local storage and create cognitive clutter. When I want something new, I use KOReader’s built-in OPDS support on my Fold5. It reaches out to Calibre-Web on my VPS, lets me browse my collection, and downloads the book directly to my device. Once downloaded, Syncthing detects the new file and automatically ferries it over to the other devices.
Why This Matters
It’s resilient. By removing the central "cloud" dependency and relying on peer-to-peer sync, I actually own my data.
There are no subscriptions, no tracking telemetry, and no ecosystem lock-in.
But the best part is the room for future play. Because my highlights and progress files are just sitting on my VPS, I can build server-side automations. I can write scripts to parse my notes, log my reading stats, or push my favorite quotes to a dashboard all without asking permission from a tech giant's API.
Why I care about this? When grandpa passed away, he left a giant shelf of books but no documentation about his favorite quotes etc.
Designing your own digital tools isn't just about privacy; it's about shaping the technology to fit your life, rather than the other way around. Reclaiming my reading data turned out to be pure, frictionless, Type 1 fun. 🌿
If you’re looking for more inspiration on digital sovereignty and sustainable tech, check out Digital Independence Day and Low-tech Magazine.
Also, check out KoShelf - a beautiful, self-hosted dashboard for KOReader metadata, reading stats, and highlights. I haven’t tried it yet, but it looks awesome!