The scenario is familiar to anyone who has worked in photojournalism, sports photography, or commercial work with agency clients: you shoot, the files land somewhere on your Mac, and someone on the other end needs them immediately. The faster they arrive at the picture desk or client portal, the better.
The traditional workflow involves opening an FTP client after each shooting session, connecting, navigating to the right folder, uploading the selects, and waiting. That interruption — however brief — pulls you away from the shoot, from the edit, from the moment. And in fast-paced environments, every minute of delay costs.
There's a better approach: configure the upload once and let it happen automatically in the background while you focus on the work.
The typical photography FTP workflow
Photo agencies, newspapers, and sports organizations have relied on FTP for decades. The workflow looks something like this: a photographer shoots at a venue, selects images on a laptop between rounds or at halftime, makes quick edits, exports to a folder, and then uploads to the agency's server. The picture desk receives the files, edits from their end, and publishes.
Speed is not optional here. A sports photographer whose images arrive twenty minutes after a competitor's loses the licensing opportunity. A news photographer whose selects sit in a local folder while they manually initiate an upload is working against themselves.
The solution is to remove the manual upload step entirely.
Watched folder automation
The key concept is a watched folder — a local folder on your Mac that an app monitors continuously. The moment a new file appears in that folder, it's automatically queued for upload. No button click. No drag and drop. No remembering to run the transfer.
On macOS, this monitoring uses FSEvents — a kernel-level API that delivers near-instant notification when the filesystem changes. The detection latency is typically under a second. This is fundamentally different from polling-based approaches that check for changes every few minutes. A file lands in the folder; the upload starts within moments.
The watched folder can be anything: Lightroom's export destination, Capture One's output folder, a tethered capture target, or a plain folder where you manually drop selects for transmission.
Setting up FTPush for photography
FTPush is a macOS menu bar app that watches a local folder using FSEvents and uploads new files automatically over FTP, SFTP, or FTPS. Here's how to configure it for a photography workflow:
- Install FTPush. Drag it to Applications and open it. The menu bar icon appears.
- Add a new connection. Enter the FTP server address, port, username, and password provided by your agency, client, or hosting provider. Choose FTP, SFTP, or FTPS depending on what the server requires.
- Set the watched folder. Pick the folder where your images land — typically your Lightroom export destination or Capture One output folder. FTPush will monitor this folder for new files.
- Set the remote folder. Enter the path on the server where files should be uploaded — for example,
/incoming/photographer-name/. - Configure extension filters. Set FTPush to only upload
.jpgand.JPGfiles. This prevents accidentally uploading RAW files (.CR3,.ARW,.NEF) or other non-delivery formats that might land in the same folder. - Set a minimum file size. Use a minimum of around 100KB (or higher, depending on your typical JPEG size). This filters out any zero-byte temp files, Lightroom catalog files, or thumbnail sidecars that might briefly appear in the folder.
- Enable Finder tags. FTPush can color-tag each file directly in Finder: yellow while queued, blue while uploading, green when done, red if an error occurred. You can see the status of each image without opening the app.
- Enable notifications. Get a macOS notification the moment a batch of uploads completes. On a fast shoot, this is your confirmation that the picture desk has the files.
Toggle the connection on. FTPush starts watching immediately. The next time a JPEG appears in the watched folder — from an export, a tether, or a manual drop — it will be uploaded automatically.
The file stability checker: why it matters
One detail that matters a lot for photography: FTPush includes a file stability checker that waits for a file to stop growing before uploading it.
This is critical. When Lightroom exports a large JPEG or when a tethered capture is writing to disk, the file exists in the folder before it's fully written. If FTPush started uploading the moment the file appeared, it might transfer a partial file. The stability checker solves this by monitoring the file size on a short interval (default: 2 seconds) and only starting the upload once the size has stabilized — meaning the file is complete.
The interval is configurable. For large files on slower storage, you can increase it. For fast SSDs with small JPEGs, 2 seconds is plenty.
For tethered shooting
If you shoot tethered — camera connected directly to the Mac — Capture One and Lightroom both let you specify a destination folder for incoming frames. Set that folder as FTPush's watched folder, and uploads happen as each frame lands. By the time you've pressed the shutter a few times, the first frames may already be uploading.
.jpg only. This ensures only delivery-ready files are transmitted.Multiple destinations
A single shoot may require delivery to multiple destinations — a client's FTP, a stock agency, and a personal archive server. FTPush handles this with multiple connections: each connection has its own server credentials, watched folder, and settings, and they run simultaneously. One export triggers uploads to all configured destinations in parallel.
When the upload is done
Once configured, the photographer's job is to shoot and edit. The upload step disappears entirely from the mental checklist. Files reach the picture desk automatically. The green Finder tag on each image confirms it arrived. A notification confirms the batch completed. That's the entire interaction.
If something goes wrong — a network dropout, a server rejection, a credential issue — FTPush marks the file red in Finder, logs the error, and sends an error notification. Nothing is silently lost.