GigaBack — a consumer app, from code to the stores

A Wisepear product: a photo-library cleaner where all image processing stays on the phone, shipped in five languages.

Wisepear techlab 2026 → today

In plain words

The need
A full phone, a library of tens of thousands of photos never triaged, and a category of apps nobody dares install because its reputation is poor.
What we delivered
An app where photos are triaged with a gesture, month by month, without a single image leaving the device, and paid for once rather than by subscription.
What it changed
Triage becomes short and low-stakes, and the privacy promise is kept by how the software is built rather than by what its policy says.
Sector
Wisepear techlab product
Period
2026 → today
Our role
Product design, development and release
Tech stack
  • Riverpod
  • Drift
  • PhotoKit
  • MediaStore

At a glance

  • All image processing stays on the device
  • Duplicate detection that holds up on libraries of tens of thousands of photos
  • Five languages from the first release

The context

GigaBack is an internal product, designed and funded by Wisepear techlab. It serves two purposes: to occupy ground our client work does not cover — the consumer app, sold directly on the app stores — and to confront us with constraints that business software never faces.

The principle fits in a sentence: you clean your photo library by swiping, month by month, left to discard and right to keep.

The challenge

The category has a poor reputation, and for good reasons: unwanted subscriptions, misleading pricing, and apps that upload the library to a server. So the product could not merely be decent — it had to be verifiably honest.

The promise had to hold word for word. “Your photos never leave your phone” is an architectural constraint, not a line in a privacy policy. All image processing — the scan, the thumbnails, the fingerprints, the duplicate detection — happens on the device. In exchange, whatever does use the network is named rather than glossed over: the purchase, the advertising that funds the free tier, and the profile that anchors the quota.

Performance decides everything. A library of fifty thousand photos rules out comparing everything against everything. Without a serious indexing strategy the app freezes on first launch — and never gets a second chance.

Nothing may be irreversible. An app that deletes childhood photographs cannot afford the slightest ambiguity.

What we did

  • A single Flutter base for iOS and Android, with a local SQLite database holding the inventory, the fingerprints, the decisions and the counters.
  • Bounded duplicate detection. A perceptual fingerprint is computed on a reduced thumbnail, then comparisons are confined to time windows — shots taken seconds apart, then those within the same month. Nothing is ever compared against everything.
  • Background work that can resume. The scan runs in batches on separate threads at low priority, with a cursor in the database: an app closed mid-scan picks up where it stopped rather than starting over.
  • No direct permanent deletion. Everything goes through the platform’s own trash — “Recently Deleted” on iOS, the gallery bin on Android — and the interface says so instead of hiding it. Deletions are grouped into a single system confirmation per batch.
  • Five languages from the first release, with store listings whose every field is validated automatically against the platforms’ hard limits: overrunning a length is grounds for rejection, and release day is a bad time to find that out.

The outcome

The app is live on the App Store and Google Play.

What this product taught us pays off in client work: a consumer app is not decided by its code alone. It is decided by privacy declarations that must match what the software actually does, by store listings that are compliant to the character, and by an editorial review that rejects whatever it cannot see working.

It is also where a conviction we apply elsewhere took shape: a promise the build does not keep costs precisely what the honesty was meant to earn.

Shall we talk?

A few lines are enough. We reply within one business day, no strings attached.

Two people talking over coffee at a pale table.