Twenty years of photos, thousands of near-duplicates, no way to decide
“I merged old hard drives and now have 40,000 photos where every moment exists five times — same scene, slightly different shots. Dupe finders catch exact copies; choosing between the burst shots is the actual nightmare.”— Hacker News ↗
Duplicate finders match exact files by hash; photo managers (Google Photos, Immich) organize but won't help you choose. The unserved part is the decision workflow: cluster near-identical shots and give a fast keyboard keep/toss triage — and do it fully locally, because nobody wants to upload 40k family photos to decide.
Anyone consolidating years of phone/camera photos
Build a local photo triage tool as a Next.js app that never uploads anything. Use the File System Access API to open a folder, compute perceptual hashes (e.g. blockhash) in a web worker, cluster shots within a similarity threshold, then present each cluster side-by-side with keyboard keep/toss; rejects move to a `_triage-trash` subfolder, never deleted. First 3 steps: (1) folder ingestion + thumbnail grid via the File System Access API, (2) perceptual hashing + threshold clustering in a worker with a progress bar, (3) the cluster review UI with keyboard shortcuts and an undo log.