On a Mac, how do I programatically compress each folder in a folder?
As part of cleaning out some old drive storage, I needed to zip a folder of folders. I could, of course, do this by hand, but it was a lot of folders and would be rather tedious. Instead of doing that for 10 minutes, I took 2 hours to figure out an automated solution!
I tried Forklift, Automator, Shortcuts, and Pathfinder. Nothing could do it; at least I couldn’t find a way to do it. After some searching, I found partial solutions in AppleScript. Here’s what I came up that solved my problem.
tell application “Finder" set theFolders to selection repeat with aFolder in theFolders set theItem to aFolder as alias
set itemPath to quoted form of POSIX path of theItem
set fileName to name of theItem
set theFolder to POSIX path of (container of theItem as alias)
set zipFile to quoted form of (fileName & ".zip")
do shell script "(cd " & quoted form of theFolder & " && zip -r " & zipFile & " " & quoted form of fileName & ")"
end repeat
end tell
A key feature of this solution is that it doesn’t create an archive with the full pathname. The zip file contains only the folder name and “down”.
Featured writing
Why customer tools are organized wrong
This article reveals a fundamental flaw in how customer support tools are designed—organizing by interaction type instead of by customer—and explains why this fragmentation wastes time and obscures the full picture you need to help users effectively.
Infrastructure shapes thought
The tools you build determine what kinds of thinking become possible. On infrastructure, friction, and building deliberately for thought rather than just throughput.
Server-Side Dashboard Architecture: Why Moving Data Fetching Off the Browser Changes Everything
How choosing server-side rendering solved security, CORS, and credential management problems I didn't know I had.
Books
The Work of Being (in progress)
A book on AI, judgment, and staying human at work.
The Practice of Work (in progress)
Practical essays on how work actually gets done.
Recent writing
We always panic about new tools (and we're always wrong)
Every time a new tool emerges for making or manipulating symbols, we panic. The pattern is so consistent it's almost embarrassing. Here's what happened each time.
Dev reflection - February 03, 2026
I've been thinking about constraints today. Not the kind that block you—the kind that clarify. There's a difference, and most people miss it.
When execution becomes cheap, ideas become expensive
This article reveals a fundamental shift in how organizations operate: as AI makes execution nearly instantaneous, the bottleneck has moved from implementation to decision-making. Understanding this transition is critical for anyone leading teams or making strategic choices in an AI-enabled world.