12 June 2026 · Book Assembly Team · 4 min read
The last update was about big new features. This one is about making everything work better. Cross-device sync, in-app notifications, and a stack of performance and accessibility improvements that add up to a noticeably smoother experience.
Your reading position now syncs across every device you're signed in on. Update your current page on the laptop, open the same book on your phone, and it's already there. Works for audiobooks too.
Changes show up within about a second. You'll see a small notification telling you what changed: "Position updated from another device, now page 87." If you happen to be typing a progress update when another device writes a new value, your typed number stays put. A note appears offering to swap to the incoming value. Your choice.
Reading status changes (marking a book as finished, paused, DNF), ratings, and reviews all sync the same way.
The reading timer syncs too. Start a session on your laptop, pick it up on your phone, see the same elapsed time. When a timer's running on another device, you see an "Active on iPad" panel (or whichever device label is set) with two options: take over the timer on this device, or stop it everywhere. If a timer's been going for more than three hours on another device, the panel asks "Did you mean to leave this running?" to catch forgotten timers before they log a marathon session.
Your settings (theme, library view mode, default sort order, auto-refresh) also sync across devices now. Change to dark mode on your phone, open the laptop, dark mode's already there. No toggle to enable this. It just works. On your first sign-in after this update, your existing preferences are picked up from your browser and saved to your account.
When you update your progress to the last page of a book (or the final minute of an audiobook), the app now asks: "You've reached the end, mark as Finished?" Tap yes and the book's marked finished with the read date recorded. Tap no if you entered the wrong number. Saves a separate trip to change the status manually.
There's now a bell icon in the header. Product announcements, update notes, and maintenance alerts show up there with an unread badge. Each notification can link to the relevant page or blog post.
You can mark notifications as read individually or in bulk, delete them, or browse the full list under Dashboard, then Notifications. Read notifications are cleaned up automatically after 90 days. Unread ones stick around until you deal with them.
Three categories under Dashboard, then Preferences, then Email Notifications: Product Updates, Tips and Recommendations, and Surveys and Research. Everything is off by default. We won't send you non-essential emails unless you ask. Every email has a one-click unsubscribe that only affects that category.
A selection of the things that make the app faster without changing how anything looks:
Smarter rendering. The app now automatically works out which parts of the screen haven't changed and skips redrawing them. The benefit is largest on data-heavy pages like Reading Stats, which draws over twenty charts at once.
Home page caching. The home page loads from what your browser already knows first and only checks with the server on pull-to-refresh or tab switch. Repeat visits appear near-instantly.
Lighter data fetching. The notification badge asks for a count instead of downloading every unread notification. The dashboard's bin expiry count is calculated on the server instead of downloading every binned book. The goals page loads only the current year's data instead of your full reading history.
Load what you need. Some heavier features (like the image zip download and the notification formatting) now load only when you actually use them, instead of being included on every page visit. The notification dropdown only loads its list when you open it.
Faster deletion. Clearing all your books now removes images and notes several at a time rather than strictly one after another.
Darkened the warning, success, purple, and error badge colours so text is comfortably readable for everyone. The previous shades were too pale against white text.
Form validation errors are now read aloud by screen readers as soon as they appear. The home page and public pages have a "Skip to main content" link for keyboard users. The "DNF" badge reads as "Did Not Finish" to screen readers. Pop-up dialogs close instantly when you have reduced motion turned on in your system settings.
Touch targets on the login page, search buttons, content warnings toggle, and various other interactive elements were enlarged to comfortable tap sizes on mobile.
Fixed a serious bug where some libraries were silently hiding books. A filter meant to exclude binned books was also excluding older books that predated a recent update. No data was lost. The books were always there, just invisible. A library refresh restores them.
Fixed a false "Book not found" page that could appear when opening a book straight after signing in, caused by the page checking before sign-in had fully settled.
Fixed a false "Position updated from another device" toast that appeared right after saving your own progress, where the app was mistaking its own confirmation for a change made elsewhere.