Photo Picks
A photo culling tool that writes your star ratings into the files themselves, so they follow you into Lightroom.

The Curiosity
Once a year I make a photo book. That is the whole job: walk a folder, say yes to a few pictures and no to most, then filter the yeses down to the ones that earn a page. Almost no editing.
Paying every month for that stopped making sense. I was renting a catalogue, a develop module and a hundred features I never opened, to do the same loop a thousand times: look, rate, next. Worse, the one thing I did produce — the ratings — lived inside that catalogue, where only the software that made it could read them.
So: free, small, and stripped to the two things I actually touch. A star rating and a colour label. Written into the files themselves, so the work already done on a photo travels with it into whatever I open next.
The Build
Photo Picks uses the File System Access API, so it opens a folder on your disk directly. Chrome and Edge on desktop only. No upload, no server, no account.
Keys 1 to 5 set stars and advance to the next photo. 6 to 9 apply colour labels. Arrow keys move; up and down jump a row. Filter by rating or colour and copy the picks to a new folder in one click.
Ratings are written into the image's EXIF and XMP metadata, which is exactly where Lightroom, Bridge and Windows Explorer look for them.
- Files
- File System Access API, thumbnails loaded lazily
- Metadata
- EXIF and XMP written in place with exifr and piexifjs
- Safety
- A .original backup beside each file on its first edit, on by default
- Runs on
- Chrome or Edge, Mac and PC
Because it edits your originals, the first write to any file creates a .original copy beside it. That is on by default. It can be switched off, but it will never be the tool's idea.
The Result
It is small. It removes half an hour of invisible work from every shoot, and the ratings outlive the tool.
What I Learned
Writing into someone's original files is a trust problem before it is a technical one. The backup toggle, the warning box and the plain "Chrome only" notice took as long to get right as the metadata code.