
Show HN: Elodie – A Personal EXIF-Based Photo and Video Assistant - jmathai
https://medium.com/@jmathai/introducing-elodie-your-personal-exif-based-photo-and-video-assistant-d92868f302ec
======
twohearted
This is very close to what I'd consider the ideal photo organizer. However
there's a feature I'd like to see that I'm not sure is possible without a
database. Tell me what you think.

How does this handle dupes and near-dupes? People have photos scattered all
over. Can I throw a random old folder of photos at this and trust that it
won't overwrite an otherwise identical jpg with a bit-rot corrupt one for
example?

You mention idempotence in your blog post, if I run this twice using the same
'unorganized' source folder, will it copy all the files again the second time?

~~~
jmathai
Duplicates are handled in two ways.

If the same photo (based on a sha256 hash) is imported twice it will ignore it
and return the location where that photo exists. This information is kept in a
~/.elodie/hash.json file but is only for efficiency. Read on...

The second way it's handled is that the rules engine will deterministically
map a photo to a file path. This means two photos named IMG_0001.JPG with the
same EXIF will be stored at the same location. If the sha256 hash is not found
it will simply overwrite that file with itself. The likelihood of an
accidental collision is extremely low but not zero.

That leads me to answer your last question. One of the goals was that you can
run a corpus of photos that was already organized through the software and get
the exact same output. If you specify a different _output_ folder it should be
identical to what was already organized.

Hope that helps :)

------
khornschemeier
My photos are in disarray and it would be nice to have something like this to
help me organize them, but I store my raw files (.NEF) as well. Does this
support raw files?

~~~
jmathai
Yes. NEF and DNG are supported. Other RAW formats may work or might easily
work but I haven't looked into them yet.

What others have done with RAW and JPEG counterparts is to keep them together
in the same directory with the same file name. This way they are organized in
tandem. If you add EXIF using Elodie then just include both the RAW and the
JPEG so they stay consistent.

MOV, MP4, M4V, AVI and 3GP video files are also supported.

~~~
toomuchtodo
What would your thoughts be about integrating this into an open API service?
Where photos could be uploaded, and then delivered to a storage system
(Flickr, S3, Dropbox) of one's choice?

~~~
striking
My thoughts: Bandwidth.

For it to make sense, he'd have to do hosting too, and charge for it.
(Otherwise it'd be inefficient and costly.)

I'd be ok with having a web-based frontend to this that I could run on my own
server, though. That or make a better (and libre!) Google Photos.

~~~
jmathai
My original goal was for this to become a static API generator from which a
static website could be created. Once I started down this path though that
destination became less attractive. I love the idea of a libre Google Photos
but once I integrated Elodie with Google Photos [1] I lost the motivation to
have another front end for my photos :).

[1] [https://medium.com/p/my-automated-photo-workflow-using-
googl...](https://medium.com/p/my-automated-photo-workflow-using-google-
photos-and-elodie-afb753b8c724)

------
vvanders
Very slick, nice to see a different take on things than just a Lightroom
alternative.

~~~
jmathai
Thanks. A few folks have asked how this can work _with_ Lightroom. I'm not a
Lightroom user so I don't have the answers or the motivation :). I assume it's
possible but I question the benefit.

For the rest of us who don't use Lightroom I hope this works well.

