By Casey Liss
My Photo Management Workflow

I’ve been asked a few times how I manage my photos. I’m no expert in the matter, but I have a system that works for me. This is that system.

Ground Rules

To start, let’s look at my motivations:

  • All my photos available on any internet-connected computer/mobile device
  • Backups to at least two cloud services
  • Robust location metadata
  • Getting at source files quickly and easily once I know a date

The things that I’m not concerned with:

  • First-party Apple apps don’t matter (including the photo picker on iOS)
  • File names that describe their contents don’t matter
  • Collecting in albums doesn’t matter
  • Tagging faces doesn’t matter
  • Pulling photos wirelessly doesn’t matter

Short-short Version

(Image Capture or direct SD card connection) →
GeoTag if necessary
Dr. Drang’s script
(Google Photos and CrashPlan)

Importing Files

All of my photos begin in one of three places:

For both iPhones, I will periodically connect them to my iMac and import all of their photos using OS X’s built in Image Capture.

For the camera, I will pull the SD card and put it in my iMac. My script will automatically copy them off of the card.


I shoot on our big camera in JPEG + RAW. The first step to a photo import is to use Finder to go through each of those files and delete those that I don’t want. For me, that means deleting most RAW files, and deleting both JPEG/RAW for photos I don’t care for. Sometimes that means they’re blurry, sometimes that means they’re poorly composed, sometimes someone is blinking, etc. I tend to err on the side of keeping JPEGs and tossing RAW files.

Anything I think I’ll possibly want to blow up, print, or otherwise manipulate I’ll keep in RAW. Additionally, I’m far more likely to keep RAW files for photos taken during special events such as birthdays or holidays.


Generally speaking, I do not edit my photos. I know that I have a lot to gain by making edits, but I don’t have the time nor patience. The only exception is correcting white balance for photos taken indoors. I use Preview to do so:

  1. Open a photo
  2. ToolsAdjust Color... (or ⌥⌘C)
  3. In the tool window, click the eye dropper that’s adjacent to the Tint slider
  4. Find something in the photo that is flat white, and click on it

Correcting the white balance takes me about 30 seconds per photo. In the case of, say, a birthday celebrating indoors at night, that adds up fast. However, correcting white balance can make a profound difference in photos taken indoors with artificial light:

Declan white balanced


For images taken on our camera, most of them tend to be without geotags. I quite frequently search for my photos by the place they were taken, so accurate geotags are important to me.

Generally speaking, especially if I’m going to be in one place (such as a business or house), I don’t bother having the camera geotagging at the time the photos are taken.

If I’m somewhere that involves a lot of moving around; such as an park or walking around a city, then I’ll take the time to have my phone track my location using the Olympus OIShare app. Once I’m done taking pictures, I can have the phone amend the pictures I’ve taken with geotags it’s accumulated as it was tracking.

For those times I didn’t bother going through the effort of “live” geotagging, I use the free and appropriately named app GeoTag. GeoTag is not particularly fancy, but it allows me to quickly and easily add geotags as I’m importing the images off the SD card.


Once I’ve performed any culling and editing, it’s time to move the photos to their permanent home. For me, that’s my Synology. I have two modified versions of the same script that I stole remixed from Dr. Drang.

My version is here; this particular one is the one I use for photos that Image Capture has pulled off my iPhone (you can tell here). I have a second copy of this script that is identical except for line 22, which points directly to where my SD card mounts.

Yes, I’m aware I can combine these scripts, but I actually like that I have to force myself to type organize-photos or organize-iphone-photos to protect me from myself. This is what works for me; your mileage may vary.

This script will rename every photo, regardless of source, in the format

2016-05-29 15-03-45.jpg

In this case, a photo was taken 29 May, 2016 at 3:03 PM.

The script will discover the date and time the photo was taken based on the EXIF data stored within the image. (Dr. Drang explains more on his blog.) Furthermore, it will automatically create a folder structure so that all photos are grouped by the year and month they were taken.

The one catch is that I haven’t yet modified it to account for RAW files; it will inspect them and rename them, but it won’t keep the original ORF extension. Thus, after I import, I go to the directory the photos were dumped into, and run this quick command:

find . -size +10000k -exec rename -s .jpg .ORF '{}' ';'

That command will look at everything that is larger than 10 MB and rename it *.JPG*.ORF. One of these days I’ll modify the script to account for this, but that day isn’t today.


Once the files are on the Synology, they’re automatically uploaded to both Google Photos and CrashPlan. Generally speaking, if I need to find a photo, I turn to Google Photos to figure out when it was taken, and then turn to the local file on the Synology to get to the source.

Since all the photos are organized by year and month, and then named by the date they were taken, going from the date I found using Google Photos to the source file takes but moments.

For special events, like vacations or birthdays, I’ll create a Google Photos album of those photos for quick access. For day-to-day photos, I find them by using Google Photos’ stunning search system.

This is my workflow. There are many like it, but this one is mine.