I'm writing a system which shows random pictures from my backup (Synology with person detection) on my TV. It's quite complicated and involves 3 computers and a Chromecast as hardware for specific reasons but it works nicely already.
I just switched from ImageMagic to OpenCV for the resizing and cropping (I want the pictures to fit always fit the TV size) so that I can do cool things in the future like face detection so I don't crop where the face is, etc.
One problem is that OpenCV in contrast to ImageMagic doesn't handle raw files, which are most of the files I have from my camera. But I found a better replacement, there is https://www.darktable.org/usermanual/en/special-topics/program-invocation/darktable-cli/ which let's me use the DarkTable metadata files which contain the information on how to edit the picture before exporting. So it's one more thing to implement but it will be quite a cool system I think.