От халепа... Ця сторінка ще не має українського перекладу, але ми вже над цим працюємо!

cookies

Hi! This website uses cookies. By continuing to browse or by clicking “I agree”, you accept this use. For more information, please see our Privacy Policy

Yakaboo: Flutter e-book app rebuild

Ukraine Mobile Marketplace October 2025 — ongoing

Yakaboo is the largest online bookstore in Ukraine, with a catalog of 14,000+ e-books and audiobooks. Mobile is where most of that reading actually happens.

We at NERDZ LAB rebuilt Yakaboo’s iOS and Android apps from scratch on Flutter, redesigned the reading and listening experience, added end-to-end content protection and offline-first functionality, and shipped the new V1 in six months.

header_image

14,000+

e-books and audiobooks

6 months

duration of development

4.7

rating on the App Store

Screens

image_screens
image_screens
image_screens

Services

Product design

Design discovery & research

UX design

UI design

Mobile development

iOS

Android

Flutter

Technologies:

Figma

Flutter

Team composition:

1 Business analyst

1 UI/UX designer

1 Flutter developer

1 QA engineer

1 Project manager

1 Fractional CTO

The Challenge_

Yakaboo’s mobile app had been growing feature by feature for several years, and by 2025, its original architecture had reached its limits. The iOS and Android versions had drifted apart, shipping new capabilities took longer than it should, and the reading experience — the thing the whole product exists for — no longer felt on par with leading international apps in the category.

The brief was clear: a rebuild, not a refresh. A new app that would leapfrog what they had, stand up against the competition, and sit on a foundation the team could keep extending for years.

Three things made it a serious piece of engineering. The core reading and listening experience had to be built almost entirely from scratch — available Flutter plugins covered only the basics, so everything beyond had to be implemented to match the design. The content had to be protected end-to-end, including offline, without making the app feel heavy or slow to readers. And the whole app had to keep working without a connection: books, reading progress, audiobook position, and analytics events all had to survive offline and sync back cleanly the moment the device came online.

image_challange

The Solution:

  • Built a custom e-book reader on top of a basic Flutter plugin. Typography, navigation, highlights, page transitions, and the full set of reading controls were implemented in-house to match the designs. The off-the-shelf plugin covered only basic rendering; everything that makes a reader feel good to use was built from scratch.
  • Protected content end-to-end with at-rest encryption. Every downloaded book is stored on the device in encrypted form using file_encrypter, with encryption keys held in the operating system’s secure storage via flutter_secure_storage. Books are decrypted only while a user is actively reading and re-encrypted the moment they close. A book sitting on the device is never readable as a plain file.
  • Enforced device-level access controls. jailbreak_root_detection blocks content delivery on compromised devices, and secure_display prevents screenshots and screen recording on reader and player screens. Together they close the gap that most mobile reading apps leave open.
  • Designed a centralized access and lifecycle service for offline reading. When a user opens a downloaded book offline, one service checks their entitlement: an active entitlement opens the book, an uncertain one grants a grace period of up to 30 days, and an expired entitlement wipes the book from the device and blocks further access. DRM behaves the same way online and offline, governed by a single piece of code.
  • Engineered a stable background audio player for audiobooks. The player keeps running while the app is backgrounded, recovers cleanly from phone calls and other interruptions, and fires analytics events without dropping data.
  • Added an offline-first sync layer. Any action taken without a connection — reading progress, bookmarks, highlights, listening position, analytics events — is persisted locally and automatically synced the moment the device is back online. A reader can finish a long flight with the app and not lose a thing.
  • Built in client-side data migrations. When data models change between releases, each user’s local library and progress is migrated in place to the new structure. Nobody has to re-download their books or re-sync their highlights after an update.
  • Extended the full app experience to guest users. A local service gives unauthorized users the same reading experience as signed-in ones — progress, library state, preferences — without requiring an account. If a guest later signs up, nothing they did is lost.
  • Ran the project as a full-cycle engagement. It started with a structured discovery phase before a line of production code was written, ran UI/UX design in parallel with development, and was architected end to end by a Fractional CTO from our side.

DESIGN PROCESS_snippets

image_screens
image_screens
image_screens

The Results

The new Yakaboo app shipped on iOS and Android at the end of March, six months after the engagement started. A single Flutter codebase now powers both platforms, with the reader, audiobook player, library, and store unified across iOS and Android for the first time.

NERDZ LAB continues to support the app and is working with Yakaboo on the next phases of the roadmap.

Summarize with AI