Why I Built a Keep-First iPhone Photo Cleaner Instead of Swipe-to-Delete (On-Device Vision + Core ML) - DEV Community

DEV Community

Cover image for Why I Built a Keep-First iPhone Photo Cleaner Instead of Swipe-to-Delete (On-Device Vision + Core ML)
Yifan Huang
Yifan Huang

Posted on AI-assisted

Why I Built a Keep-First iPhone Photo Cleaner Instead of Swipe-to-Delete (On-Device Vision + Core ML)

Most iPhone photo cleaner apps follow the same interaction pattern: load photos in a stack, swipe left to delete, swipe right to keep.

It feels fast for the first fifty screenshots. After a few hundred family photos, though, swipe-to-delete starts creating anxiety. One tired thumb flick marks a keeper for deletion, and most people don't review every deleted thumbnail before confirming.

When I built KeepFirst: Photo Cleaner (iOS 17+), I flipped that workflow.

The Keep-First Pattern (+ In-App Review Bin)

Instead of making "delete" the fast gesture, KeepFirst asks you to choose what to keep first:

  1. Pick a focused task: Clean by time (recent, specific month, or shuffled batches), media type (screenshots, screen recordings, large videos, Live Photos), local similar-photo groups, or on-device scene categories.
  2. Tap only the keepers: Select the photos worth keeping (Keep N), or use Keep All / Clean All when an entire batch is obvious.
  3. Quarantine in the Review Bin: Every unselected item moves to an in-app Review Bin — nothing is removed from your Apple Photos library yet.
  4. Confirm with iOS: Only when you review the bin and confirm does KeepFirst invoke Apple's standard iOS deletion prompt (and iOS's 30-day Recently Deleted recovery net still applies after that).

You stay in control at every boundary; there is no silent or one-tap bulk purge.

How On-Device Processing & Privacy Work Under the Hood

A major concern users raise about photo cleaners is library privacy. KeepFirst is built so your camera roll never leaves your iPhone:

  • Zero backend / zero accounts: There is no KeepFirst server storing user libraries, no sign-up flow, no remote analytics SDK, and no third-party ad SDK.
  • Metadata-only persistence (SwiftData): KeepFirst stores only Apple Photos asset identifiers, local keep/review states, manual Keeps collection memberships, and processing timestamps — never copies of your photos or videos.
  • Bundled Core ML + Apple Vision: Starting in 1.4, optional Scenes recognition sorts photos (such as people, food, pets, and scenery) and splits screenshots by purpose (chats, orders/receipts, games) using a bundled Core ML model alongside Apple's on-device Vision human, animal, and text recognition. Only category labels/signals stay on-device; recognized screenshot text itself is not stored.
  • App Store Privacy Label: Data Not Collected (Privacy Policy). Photo analysis, similarity review, and scene grouping happen locally (only optional Apple StoreKit purchases, or Apple's iCloud fetching if your originals are offloaded, use the network).

Quick Comparison: Keep-First vs. Common iPhone Cleaners

App Primary Workflow Deletion Safety Buffer Privacy & Tracking Pricing Model
KeepFirst Pick keepers first in batches + manual Keeps In-app Review Bin + iOS prompt On-device; Data Not Collected 200 items free; Weekly $2.99 / Monthly $5.99 / Lifetime $19.99; no forced trial
Slidebox Swipe up/down + album filing Trash queue before confirm On-device Free with ads; lifetime unlock
Clever Cleaner Swipe-to-delete + auto grouping Trash preview before delete On-device photo scan; App Store label lists tracking/analytics Generous free tier + premium
CleanMyPhone Automated similarity & clutter scan Review queue before delete On-device analysis; usage analytics Subscription

More workflow details and comparisons: Best iPhone Photo Cleaner Apps Compared

Try KeepFirst

Every device gets 200 newly processed photos or videos for free, with no forced trial and no startup subscription gate. Browsing and organizing your kept memories inside Keeps stays free regardless of that limit.

Top comments (0)