This is cool!
I'm curious about which perceptual hashing algorithm is being used. The README says it's "invariant to scaling and rotation" but the approach described in the linked paper is highly rotation-sensitive. (EDIT: it looks like the implementation can handle multiples of 90 degrees, which is a bit better than I thought at first)