The first time I spent an entire day cropping and resizing the same image 200 times, I wasn’t frustrated. I was embarrassed. I had been working in commercial photography studios for years at that point, surrounded by people who talked about efficiency constantly, and there I was, manually typing pixel dimensions into the Image Size dialog like it was 1997. That afternoon I went home and learned just enough Photoshop scripting to make sure it never happened again.

That was the beginning of what I now think of as my workflow stack, the specific combination of tools, actions, and automation logic that runs underneath everything I do in post-production. Clients don’t see it. They see clean, consistent deliverables that arrive on time. The stack is what makes that possible.

Why Repetition Is the Enemy of Image Quality

Here’s something that doesn’t get talked about enough: manual repetition doesn’t just waste time. It degrades output quality because human attention degrades. By the 40th product shot in a sequence, you are not making the same decisions you made on the first one. Your color calls drift. Your clone stamp pressure varies. You start cutting corners you didn’t even consciously decide to cut.

Automation solves this not by removing judgment, but by preserving it. When you encode your best decisions into an action or a preset, you’re essentially bottling the version of yourself that was fresh, focused, and making deliberate choices. Every subsequent run of that action is that version of you, not the tired one.

The Actual Tools in My Current Stack

I’ll be specific because vague recommendations are useless.

For batch processing, I rely on Photoshop’s built-in Image Processor combined with custom actions I’ve built and refined over years. Image Processor lives under File > Scripts > Image Processor and it’s underused by almost everyone I talk to. You can point it at a folder, apply an action, convert color profiles, and output to JPEG, PSD, and TIFF simultaneously in one pass. For e-commerce work where a client needs web-optimized JPEGs at 72 DPI and print-ready TIFFs at 300 DPI from the same source files, this cuts a multi-step manual export down to about 90 seconds of setup.

For actions themselves, I organize everything inside the Actions panel by project type, not by tool. I have sets labeled “E-Commerce Product,” “Automotive Composite,” and “Agency Retouching” rather than “Sharpening” or “Color Grading.” This matters because actions work in context. A sharpening routine that’s perfect for a product shot on white can destroy the micro-detail in a skin retouch. Keeping them grouped by use case means I’m always reaching for the right tool without having to remember its technical specs in the moment.

For anything requiring consistent color decisions across hundreds of files, I use Camera Raw as a Smart Object rather than running static adjustments. The non-destructive architecture means I can update a single Camera Raw setting and propagate that change across a whole batch by editing the Smart Object and using Edit > Auto-Update All Open Documents. On a recent 340-image e-commerce run, this saved me from manually reopening files when the client changed their mind about the warmth of the background gray, which they did twice.

The Spreadsheet Nobody Asked For

I keep a running spreadsheet, color-coded by year, that tracks estimated time saved by each action in my library. It currently sits at over 2,400 hours. I’m aware this is a strange thing to do. My business partner thinks it’s obsessive. But it has real value: it tells me which tools are actually earning their place in my workflow and which ones I built out of enthusiasm and never actually used.

The number that always surprises people is how much time gets saved not by big flashy automation but by small, unglamorous actions. I have a 3-step action that does nothing except flatten layers, convert to sRGB, and set the JPEG quality to 85 for web delivery. It runs in about 2 seconds. I’ve triggered it probably 12,000 times. That action has saved me more total time than my most sophisticated composite automation, because small frictions compound fast when you’re processing at volume.

When Actions Break and What to Do About It

Actions fail. This is not a bug in your thinking, it’s a feature of how Photoshop handles variable file states. An action recorded on a flattened RGB file will throw errors when you run it on a file with 14 layers and an active selection. The fix is to build defensive actions: start every action with a Flatten Image step if your output doesn’t require layers, and include a Convert to Profile step before any color-critical moves rather than assuming the incoming file matches your workspace.

For anything I’m running on client files at scale, I test on a set of 10 representative samples that I keep specifically for this purpose: one file with layers, one flattened, one with a clipping mask, one with an open selection, one in CMYK. If the action handles all five cleanly, it goes into production rotation. If it doesn’t, I fix it before it hits 500 files.

The Discipline That Actually Matters

Most workflow problems are not tool problems. They’re documentation problems. I’ve worked with photographers who had excellent individual techniques but couldn’t replicate their own results from one job to the next because nothing was written down or encoded. The tool you use matters far less than whether you’ve made a deliberate decision and captured it somewhere that isn’t just your memory.

Build the action. Name it specifically. Test it on edge cases before you need it. The 45 minutes you spend doing that once will return to you a hundred times over.