🟡 WeekendA focused Saturday + Sundaynext.jslocal-firstweb-workers

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
The gap

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.

For

Anyone consolidating years of phone/camera photos

Paste-ready build prompt

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.

More like this