The duplicate problem nobody wanted to admit
Three weeks before launch, a wedding photographer in Manchester sent us a note. She had 47,000 photos on her phone. Forty-seven thousand. When she opened the Culr prototype, the first thing she did was search for duplicates. She didn't ask for a swipe-to-delete feature, didn't care about burst ranking, didn't mention blur detection. She just said: 'I need to know which ones are exactly the same.'
The mess everyone has but nobody talks about
Before we started work on Culr, I spent time with users who had thousands of photos crammed into their camera rolls. Most of them weren't professional photographers. They were people like you: they'd take a photo, panic it wasn't good, take it again. They'd screenshot something to send to a friend. They'd have accidental duplicates from a failed upload, or photos backed up twice after switching phones. Over time, these duplicates pile up.
The real problem wasn't the number of photos. It was the uncertainty. People didn't know if deleting one duplicate would lose them the only decent version of a shot. They couldn't trust an app to tell them which ones were safe to remove. So they didn't delete anything. The phone filled up. The scroll took forever. And the frustration grew.
We realised duplicate detection had to come first, not as a nice-to-have bonus, but as the core reason someone would try Culr at all.
Why 'exact match' meant building it twice
When we launched Culr, duplicate detection meant finding images that were byte-for-byte identical. A photo and a screenshot of that photo wouldn't match. A photo taken twice in burst mode wouldn't match. We started with that strict definition because it was the one thing we could absolutely guarantee was safe to delete.
The logic sounds simple: hash the photo, find the others with the same hash, group them, let the user keep one and delete the rest. But the engineering caught us out. We had to handle photos that had been edited, photos that lived in iCloud but hadn't synced yet, photos inside WhatsApp, photos from Telegram. Each source handled the file slightly differently.
We also discovered that users didn't trust the feature until they could see why Culr had grouped the images. If the app just said 'these are duplicates', people hesitated. So we built the UI to show you the exact match side by side. You see both files, you see they're identical, you decide which to keep. That took longer to code, but it was non-negotiable.
The trust we had to earn
Here's what happened the week after we soft-launched: users started testing the duplicate finder on their real libraries, and they found edge cases we hadn't thought about. Someone had two nearly identical photos from the same second in burst mode, and we were marking them as safe duplicates when really they deserved a closer look. Another user had a JPEG and a PNG of the same photo and felt anxious deleting one without understanding why they were different file formats.
We made two decisions. First, we added more detail to the grouping interface so you could see file size, format, and when each was taken. Second, we capped the free tier at 50 duplicate deletions per month. This wasn't about making money. It was about making people feel in control. At 50 a month, even a casual user could work through their library without fear. If something went wrong, the damage was bounded.
We also added a check: before Culr deletes anything, it verifies whether that photo is backed up to iCloud. If it hasn't synced yet, we don't touch it. You never lose a photo you didn't intend to lose.
What duplicates revealed about the whole problem
Building duplicate detection taught us something unexpected. It wasn't actually the first problem users needed solving. The first problem was trust. People needed to believe that Culr wouldn't nuke their irreplaceable memories.
Once we solved that, once users had deleted a few duplicates without disaster, they were ready to try other things. They'd swipe through similar photos and cluster them. They'd look at blurry shots and remove them. They'd clean up screenshots. But none of that happened until they'd felt the safety of the duplicate feature working correctly.
So duplicate detection became the front door. It's why it's available on the free tier. It's why we kept adding clarity to it, why we added the iCloud status check, why we let you undo everything. Everything else in Culr only works if you trust it.
Why we still prioritise it
On the Plus and Pro versions of Culr, duplicate detection is unlimited. You can remove as many duplicate photos as you want, not just 50 a month. But even on the free version, we keep it prominent. It's the first thing you see in the interface.
We still get messages from users saying 'I deleted 300 duplicate photos today'. That's almost always the entry point. They come for the duplicates, they stay because the experience was friction-free and nothing broke. That's the whole philosophy of Culr: start with something real, solve it completely, then build outward.
When you open your camera roll right now, how much of it do you actually recognise? How many of those photos serve a purpose?