Disclosure: I work within the Opennomos ecosystem, which is how I came across the app mentioned here. No affiliate links, no sponsorship — just a genuine UX observation.
The hardest part of a boring task is almost never the task. It's the interaction model.
I sat on ~20,000 photos for about two years. Screenshots, near-duplicate food shots, three-second videos of nothing. Every few months I'd open the Photos app, feel the weight of it, tap "Select," start long-pressing, and quit within ninety seconds. The task wasn't hard. The interface made it feel like data entry.
What finally broke the loop was switching to a different interaction: one photo at a time, full screen, swipe left to queue a delete, swipe right to keep. No multi-select grid. No checkboxes. No "are you sure" on every tap. Decisions get batched and confirmed at the end, so nothing is destructive until you say so.
I cleared a few hundred in one sitting, on the couch, without thinking of it as a chore.
As a developer this bugged me in a good way, because the lesson generalizes far past photo cleanup:
1. Reduce the decision surface to exactly one thing.
The grid asks you to scan, compare, and select simultaneously. The card view asks one question: this one, yes or no? Same underlying work, dramatically lower cognitive load. We do the opposite constantly in our own tools — dashboards that show twelve actions when the user only ever needs one.
2. Make the reversible path the default.
"Swipe left = queue for delete" isn't the same as deleting. The queue is the safety net that lets you move fast. Batch-confirm at the end. Most destructive UIs would be less scary and more usable if they separated intent from commit the way git does.
3. Match the input to the muscle memory people already have.
Swiping through cards is a gesture a billion people already learned from other apps. You're not teaching a new interaction; you're borrowing one. The cheapest UX win is often "use the gesture they already know."
The app I ended up using is a small iOS one called Swipe Cleaner (part of the One Apps set — swipe left to delete, right to keep). Two details I appreciated as someone who cares about how software is built: photos never leave the device, and there's no account to create. For a utility that touches your entire camera roll, "it just runs locally" is the correct default, not a premium feature.
None of this is novel. Tinder shipped the mechanic years ago; plenty of apps have borrowed it. But that's exactly the point — the winning move wasn't a clever algorithm, it was picking an interaction model that made a tedious task feel almost pleasant. If you're building anything where users have to grind through a queue (reviewing flagged items, triaging a backlog, approving records), it's worth asking: am I making them fill out a form, or am I letting them swipe?
The task was always doable. I just needed an interface that didn't argue with me about it.
Top comments (0)