The Mac apps our agency actually runs (and the pattern I didn't expect to find)
Obligatory disclosure before we go anywhere: one of the fourteen apps below is Humla, which I make. It's free and MIT-licensed and I would genuinely love it if you downloaded it, so weigh my opinion of it accordingly. I'll shamelessly admit that I WANT that. The other thirteen I have no stake in whatsoever, no affiliate links anywhere on this page, which I mention only because "essential apps for X" posts are usually a referral-fee spreadsheet wearing a blog post costume.
Right. Let's go.
Why I made this list at all
We're a small digital creative agency in Norway. Websites mostly, but also design, content, SEO, marketing - the whole digital-solutions-shaped end of the pool. Which means client work lands on this Mac constantly, in a dozen formats, from people who have precisely zero idea what software it's passing through on the way.
I started this because I wanted to write the normal version of this post. You know the one. "12 essential Mac apps for creative agencies," a nice grid of icons, a bit of Adobe, one productivity app with a suspiciously cheerful onboarding flow.
Then I actually looked at what we run and discovered I couldn't write that post, because our stack has been quietly drifting open-source for about three years and I never once sat down and made that decision. It just sort of happened, the way a garden becomes a different garden. Which is a much better thing to write about than a grid of icons.
My general feeling here, and I hold this one embarrassingly strongly: the big paid apps have gotten bloated and slow, and somewhere out there a person or a tiny team has built the thing that does the ONE job I need, faster, with about ninety percent fewer features I will never open. Community tools get to be specialized in a way commercial ones structurally can't, because a company has to sell to everybody and a maintainer only has to satisfy one guy with an itch.
(I'm aware this is the kind of sentiment that gets people very excited on Hacker News and very tired everywhere else. Stay with me, there's a real finding coming, and it's not the one I set out to write.)
The table
Two things checked per app: the licence, and where your client's work goes when you use it. Prices as bands, not figures, because figures rot and I'd like this to still be true next year.
| App | What it's for | Licence | Where client work goes | Price |
|---|---|---|---|---|
| Handy | Dictation | MIT | Stays on device | Free |
| Cap | Screen recording | AGPLv3 (+ MIT parts) | Optional - local, own S3, or their cloud | Free |
| Helium | Browser | GPL-3.0 | Optional | Free |
| Paseo | Coding-agent harness | Open source | Stays on device (the agent it drives does not) | Free |
| iTerm2 | Terminal | GPLv3 | Stays on device | Free |
| Ollama | Local LLMs | MIT | Stays on device | Free |
| Humla | Meeting notes | MIT | Optional - on-device or your own key | Free (+ $5/user/mo sync) |
| Our own DAM | Asset management | Ours | Stays on our infrastructure | Built |
| VS Code | Editor | MIT core, proprietary build | Optional | Free |
| Local | WordPress dev | Closed | Stays on device | Free |
| Figma | Design | Closed | Leaves by default | Freemium |
| Notion | Docs and wiki | Closed | Leaves by default | Freemium |
| Slack | Client comms | Closed | Leaves by default | Freemium |
| 1Password | Credentials | Closed | Leaves by default (end-to-end encrypted) | Subscription |
The half we chose
Handy, Cap, Helium, Paseo, iTerm2, Ollama, Humla. Seven tools, all open source, every one of them replacing something we used to pay for.
Handy is the one I'd point at if you only try a single thing off this list. MIT, push-to-talk dictation, Whisper running on your own machine so your voice never goes anywhere. I churned through three other dictation apps before it - Wispr Flow, Codictate, Spokenly - and Handy won, and I want to be honest that it didn't win on privacy. It won because it's fast and it gets out of the way.
Cap replaced Screen Studio and three other recorders (Screenfully, Supercut, Open Recorder, all fine, all gone). It's AGPL, it needs no cloud account at ALL, and if you want sharing you can self-host the entire platform in Docker or just point it at your own S3 bucket. For an agency sending walkthrough videos to clients under NDA, "my bucket, my domain, my retention policy" is a materially different animal to "here's a vendor CDN link that will outlive us both."
Paseo is the strangest entry in the table and I need to be straight about why it's there, because the honest answer is not architectural elegance. It's that Paseo lets me keep the Claude addiction running from anywhere. Sitting on the toilet. Lying in bed at eleven at night, chatting to a terminal that's humming away on the Mac in the other room. That is the actual reason. I have made peace with it.
(Is "I can talk to my computer from the bathroom" a legitimate software evaluation criterion? Reader, it is now.)
And here's the thing that makes Paseo genuinely interesting rather than just my enabler: it's open source, and its FAQ says plainly that your code doesn't go anywhere, agents run locally and talk to their own APIs like they always did. Which is TRUE. It's also a beautiful piece of accidental misdirection, because the agent Paseo is driving is Claude Code, and Claude Code is cheerfully shipping your client's source to a datacentre in another country. Paseo is spotless. The thing Paseo drives is not. I love this example, because it kills "is this app private?" as a useful question - the app can be immaculate and the pipeline still leaks like a colander.
Ollama is where I go when the pipeline genuinely shouldn't leak. Two jobs: kicking the tyres on whatever new local model dropped this week (a hobby that has quietly eaten several evenings), and doing AI work on source material that's confidential or just nobody else's business. Client contracts. Half-finished strategy documents. The stuff where "it's probably fine" is not a sentence I want to be saying.
iTerm2 has been GPL and free the entire time I've used it, and I have never once thought about it, which is genuinely the highest compliment you can pay a piece of software.
Humla is mine, so, quickly: it records your Mac's mic and system audio with no bot joining the call, and it can transcribe and summarise entirely on-device. Tradeoffs, honestly - Apple Silicon only, no mobile app, no CRM integrations, and a much smaller community than the alternatives I line it up against in the local notetakers roundup. That's the plug. It's over.
The half that got chosen for us
Okay. Here's the pattern, and I did not see it coming until the table was sitting there finished.
Figma. Notion. Slack. Local. 1Password. Not one of those was a free decision.
Slack is client-imposed and industry-standard, and I could migrate tomorrow and all I'd achieve is becoming The Agency That Makes You Install Another App. Figma is where design handoff happens, full stop - you're welcome to prefer something else, you're just not going to hand off in it. Local is WordPress reality, and WordPress is a big slice of what we build. 1Password is credentials, where I would MUCH rather run a boring proprietary tool with a serious security team than an exciting one maintained by somebody who might get a new job in March.
And then Notion, which is a relic that's hard to migrate.
That's the honest one. Notion isn't in the stack because I weighed anything. It's there because Inertia moved in years ago, put its feet on the coffee table, and has never once been asked to leave. Every year I open the export settings, do some rapid and deeply pessimistic arithmetic about how many hours the migration would eat, and close the tab again. Every year.
So the pattern, stated properly: where we had a free choice, open source won every single time. Where something else was doing the choosing - a client, a convention, my own past self - it did not win once.
Which quietly reframes the whole open-source-versus-paid argument, at least for me. I thought this was going to be a quality story. Handy IS better than the paid dictation apps, and free, and local, all three. But that's not why the split fell where it fell. It fell there because free choices and constrained choices produce different answers, and almost every software decision you make is more constrained than it feels while you're making it.
The ones we keep even though they fail
Quick reckoning, because a post that concludes "I chose beautifully and the bad stuff was forced upon me" is an alibi wearing an audit's clothes.
Three of our daily tools leave with client work by default. Figma holds clients' entire brand systems. Notion holds scoping documents, budgets, and things people told us in confidence. Slack holds everything anybody has ever typed at me, forever, including several things I'd rather it didn't.
Slack and Figma I'll defend without blinking - the cost of not being where the client already is comfortably exceeds the benefit of the tool I'd rather use, and I'd make that trade again tomorrow. Notion I will not defend. Notion is laziness with a very nice interface, and the fact that I can articulate exactly why it's a problem and STILL haven't moved is easily the most honest thing on this page. Remember our friend Inertia? Yeah. Still on the sofa. Still not paying rent.
One caveat before you go and install everything. Handy, Cap, Paseo and Helium are all early - version numbers starting with a zero, small teams, moving fast. That's completely fine for my terminal and my dictation, which is precisely where they live. I'd think a lot harder before putting a pre-1.0 indie tool directly in the path of a client deliverable with a deadline attached, and none of the ones above sit there. Pick your blast radius on purpose.
If you want the long version of "where does this actually go" applied to meetings specifically, that's written up for agencies, and I've dug through what the big transcription vendors keep in the Deepgram and OpenAI retention posts. Fair warning on the Deepgram one: it ends with me finding a defect in my own app and having to write about it.
Anyway. Go and sort your own stack into "I picked this" and "this got picked for me." I'd put money on the second column being longer than you expect, and that's the actual finding here. Not the apps.