In much of the world there are more phones than libraries, and more patchy coverage than stable broadband. Readom is not an app designed for somewhere else and then adapted: every technical decision starts from that reality. Here is which ones, and why.
01
Every byte costs someone money
When mobile data is paid for by the megabyte, an application’s weight stops being an engineering detail and becomes a barrier to access. The site is static HTML with no server process behind it, and its stylesheet is pruned at build time so that not a single unused rule travels down the wire. Fonts are embedded in the application itself and are never requested from an external server while you read. The app does not download whole catalogues either: it asks for small pages and stores them, so going back does not cost another request.
02
Downloads that survive a bad connection
A download that restarts from zero every time the signal drops is useless on an unstable network. Readom’s are resumable: if the connection fails at 80%, retrying continues at 80% instead of going back to the start. Every book is verified against its SHA-256 fingerprint when it finishes, so a file corrupted halfway is detected rather than opened broken. And the catalogue is stored on the device: you can keep browsing it even if the server is down or you simply have no coverage right now.
03
Genuinely offline, and sharing without internet
Once a book is downloaded in the app, everything happens on your phone: the reading, the progress, the bookmarks and the settings. There is no network call to turn a page. Speech uses the synthesiser Android already ships with, instead of downloading audiobooks that weigh hundreds of megabytes. And translation runs on models that live on the device, so the text you translate is never sent anywhere. The web reader keeps your progress in the browser itself, but genuinely offline reading — and sharing books between phones — requires the Android app.
04
How a book gets from one phone to another with no coverage
This is an Android app feature; the web reader cannot do it, because a browser cannot open a direct link between two phones. It works like this: whoever has the books groups up to fifty of them into a “pack” from their library. On the Nearby sharing screen, one phone starts sharing and the other starts receiving, and they find each other over Bluetooth and local Wi-Fi, with no router and no internet in between. Before anything is transferred, both phones display the same code and you have to check in person that it matches: that stops a third party from slipping in and posing as the other phone. Once confirmed, the pack description travels first, so the receiver can decide whether to accept it, and then the books one by one, encrypted and directly between the two devices. Nothing passes through our server. It needs Google Play Services; if the phone does not have it, the app says so and everything else keeps working.
05
Privacy here is architecture, not a promise
Readom has no accounts. It is not that we promise to look after your credentials: they do not exist, and what does not exist cannot be leaked, sold or lost in a breach. Your reading progress, your library, your favourites and your settings live only on your device and disappear if you uninstall the app. We do not build reading profiles because we store nothing to build them from.
06
The only thing we measure, and what we do not control
We keep an aggregate count of how many times each book is downloaded, in which language and on which day, so we know which works are of interest and which languages need more. That counter stores no IP address, no identifiers and no exact time: it is an anonymous per-book tally that cannot be tied to a person. We also declare what is not in our hands: readom.org is served through Cloudflare, which protects us from attacks and in exchange sees the IP and address of every request; and if you enable translation or Nearby sharing, their Google components send technical telemetry. We would rather name every intermediary than claim there are none.
07
Legal by design, not by oversight
The whole catalogue is public domain. The copy we serve was obtained through the official mirroring process Project Gutenberg offers to third parties, never by crawling their website, because doing so would breach their terms. The module that checks whether a work is free in your country uses each jurisdiction’s term rules and the country you pick in settings: we do not geolocate your IP address to work it out.
08
You can check for yourself; you do not have to trust us
The Android APK is signed and we publish its SHA-256 fingerprint next to the download, so you can verify that the file you install is exactly the one we published and not something altered along the way. There is no advertising, no in-app purchases and no sponsors who could influence which books appear. Nobody pays to be in the catalogue.
Free, forever, for anyone.