Back
SwipePhoto Observer Adblock Green VPN SoftShield VPN Fluid Chat AI Hypurr Wallet Yooca
iOS Photo Cleaner · Case Study

SwipePhoto

I designed SwipePhoto from scratch — concept, flows, UI and motion — around one bet: turn deleting photos, the most boring chore on your phone, into a game. Then I used the data to sharpen it.

Lead Product DesigneriOS · 20243-month build
Duplicates
Swipe to delete
Photo list
My role
Lead Product Designer — concept, UX, UI, motion & the design system
Team
1 PM · 2 iOS engineers
Timeline
3 months · shipped 2024
Platform
iOS (iPhone) · freemium
3.4 GB
Median storage freed
per user, first week
+0%
Day-7 retention
vs the old grid cleaner
4.7
App Store rating
2.1k reviews
1,200+
Photos triaged / user
in week one

The challenge

Everyone’s camera roll is a mess. Nobody wants to clean it.

The average phone holds thousands of screenshots, blurry shots and near-identical duplicates. People feel the storage anxiety — but the actual job of deleting is slow, joyless, and a little scary. Existing cleaners made it worse: endless grids, “YOUR PHONE IS FULL!” fear screens, and upsells that felt like a scam.

The brief: build a cleaner people would open for fun, trust with their memories, and happily pay to keep using — on a tiny iOS team.

Discovery

Why people never clean up

It’s so boring and endless

Reviewing photos in a grid is decision fatigue at scale. People quit after a screenful and never come back.

What if I delete a good one?

Loss aversion freezes people. Without a safety net, they hoard everything “just in case.”

These apps feel scammy

Fear screens and aggressive paywalls killed trust. People wanted help, not a horror movie about their storage.

From 9 interviews, a camera-roll diary study, a teardown of 6 cleaner apps, and ~1,800 App Store reviews mined for the words people actually use.

How I decided

Three rules of the game

1

Make it a game, not a chore

One photo, one decision, instant feedback. Momentum over grids.

2

Safety first

Nothing is gone until you confirm. Undo and a trash buffer, always.

3

Reward, don’t scare

Celebrate freed space. No fear screens, no dark patterns.

Key decisions

Designed from scratch, then tuned on the data

I shipped the first version, watched how people actually used it, and redesigned the moments that leaked. Every call below is mine — and each one moved a number.

Swipe to delete

Delete

Swipe to keep

Keep

01 The core mechanic

Swipe to decide

What I designed
I built the cleaner around a single mechanic of my own: one full-screen photo at a time — swipe left to delete, right to keep — with a satisfying card animation and red/blue language people instantly get.
What the data showed
My first cut leaned on a grid. Completion sat near 22% — people quit after one screenful and sessions died fast.
The result
Rebuilding the core as swipe lifted photos triaged per session ~5× and pushed completion to 61%.
Trash

Trash

Trash review

Review

02 Building trust

Nothing’s gone until you say so

What I designed
I routed every swipe into a Trash buffer with bulk-confirm and one-tap restore — deletion only ever happens on purpose.
What the data showed
Before the buffer, accidental-delete complaints spiked and people swiped timidly — undo events were everywhere.
The result
With the safety net I added, swipe speed climbed and delete-regret tickets dropped to near zero.
Smart piles

Months

Duplicates

Duplicates

Screenshots

Screenshots

03 Taming the volume

Smart piles, not one endless feed

What I designed
I split the roll into bite-size piles — by month, plus auto-found duplicates and screenshots — each with a “verified” progress bar so finishing a pile feels like a win.
What the data showed
My first single-stream version felt infinite — progress was invisible and people rarely came back for a second session.
The result
Completable piles with progress turned cleanup into a streak; day-7 retention rose 34%.
Storage scan

Scan

Complete

Reward

04 Positive reinforcement

A scan that motivates, not scares

What I designed
I designed the scan and finish as a reward — a calm, playful loader and a celebratory “you freed X GB,” never a red fear screen.
What the data showed
I A/B-tested it against a louder “storage full!” variant — fear converted short-term but crushed rating and retention.
The result
My reward framing won where it counts: store rating climbed 3.9 → 4.7★ and people came back.
Favorites

Favorites

Preview

Preview

05 Protecting what matters

Easy to keep, easy to be sure

What I designed
I added a one-tap Favorites lane and a full-screen Preview to double-check before anything leaves — so speed never comes at the cost of certainty.
What the data showed
Fast swipers occasionally lost shots they cared about — a trust risk that threatened the whole loop.
The result
Protecting the important photos kept heavy users confident, and their retention held.

Other cleaners sold fear. SwipePhoto sold the satisfying click of a tidy camera roll.

Impact

What shipped — and what it moved

3.4 GB
Median freed / user
first week
+34%
Day-7 retention
vs old grid cleaner
4.5%
Free → paid
trial to subscription
4.7
App Store rating
from 3.9

Measured over 6 weeks post-launch vs the previous grid-based version, via Amplitude and App Store Connect. The swipe + trash-buffer combo was the single biggest driver of both session length and conversion.

Reflection

What I’d do differently

Speed caused accidental deletes early

First builds let people swipe faster than they could think. The trash buffer + a subtle “undo” toast fixed it — but I’d design the safety net before the speed next time.

🎛️

Gamification isn’t for everyone

A few users found swiping gimmicky for large libraries. I added a plain multi-select list mode — same engine, calmer surface.

☁️

iCloud is its own product

Local vs cloud deletion confused power users. I punted real iCloud-state handling to v2 — in hindsight worth scoping up front.

Design system

Loud, friendly, unmistakable

Palette

Bubblegum
#F7C0D2
Hot Pink
#FF4D8D
Pop Yellow
#FFE600
Go Green
#4ADE80
Ink
#1A1A1E

Typography — Outfit display, Space Grotesk body

Display · 900
Swipe Photo
Heading · 800
October / 2024
Body · 500
Swipe left to delete, right to keep. Nothing leaves until you confirm.
Label · 700
Verified · 80%

Key components

DeleteKeep

Swipe Pills

Red/blue action language users already understand.

October / 2024

Month Pile

A completable chunk with a progress bar.

Reward State

Celebrate freed space — never a fear screen.