Hedroom for developers
A developer's Mac runs a lot that looks wrong and is fine: a virtual machine that holds gigabytes, a build that pins every core, an indexer that runs for an hour. Hedroom is built to tell those apart from a real problem, and to leave your tools alone.
Docker on battery
The All-day battery profile in Power & fans includes a rule that pauses Docker Desktop when it is idle on battery (idle for 10 minutes). Like every rule, you can read it in Rules, it ships off, and it goes through the same safety checks as a click.
- Hedroom's process library marks Docker Desktop as normally large and busy, so a big VM is not reported as a leak and a busy one is not reported as a runaway.
- The library does not mark Docker Desktop as known to handle being paused, so a rule that pauses it asks you first, with a notification, instead of acting alone.
- A pause lasts until you switch back to the app, or 60 minutes at most.
- Hedroom does not claim how much a pause saves. The receipt measures it, and says "No measurable effect." if nothing moved.
Xcode: build data, archives and simulators
Xcode is an Apple app you use yourself. Hedroom's rule is that Apple's own processes are explain-only, with one exception: apps like Xcode can be relaunched or quit, but only when you click, never from a rule. If a cleanup needs Xcode closed, the warning row has a Quit Xcode button that asks Xcode to quit the normal way.
Storage cleanup covers the developer leftovers that take the most room:
- Xcode build data (DerivedData): rebuilt on your next build. Build data for projects open in Xcode is skipped.
- Developer caches from Homebrew, npm, pnpm, Yarn, pip, CocoaPods and Gradle, each with its size shown.
- Old simulators that Xcode can no longer run. These are removed with Apple's own
simctltool, which is permanent, so the confirmation says so before anything happens. - Xcode archives and old iOS device support files are listed under "Review first", unticked. For archives the app warns that they are needed to symbolicate crash reports for apps you shipped. The two newest device support folders are kept.
Cleanup moves files to the Trash, and the Trash is yours to empty. Nothing is deleted without your confirmation each time. Hedroom never touches a .git folder, and skips files that are open in an app.
Electron apps that grow
Slack, Discord, VS Code and many other desktop apps are built on Electron: one main process plus a crowd of helpers. Hedroom counts them as one app and compares the total with that app's usual size over the last 7 days. At 3 times usual, at least 1 GB, for about 20 minutes, it is flagged as a leak, and Relaunch asks the app to quit as ⌘Q does, then opens it again. The receipt shows what came back.
If you want it automatic, the relaunch sheet has a checkbox, "Next time, relaunch without asking", that creates a rule for that app. A relaunch of an app not marked safe still asks first. Builds, compilers and Xcode indexing are marked as normally busy, so they are not flagged as runaway CPU. The exact thresholds.
What starts at login
Databases and other services you started yourself often leave a launch agent behind. Startup items lists the ones in your LaunchAgents folder and in /Library, shows what each costs in memory after your last login, and suggests turning off only an item whose program is gone, or one you used in at most 1 of your last 10 logins. Turning one off renames its file, so nothing is deleted, and it measures your next login. Hedroom does not stop a service that is running right now.
Big displays
The Display advisor shows how hard WindowServer works to draw your screens, and offers a change only when your setup shows one of a few specific signs, such as a scaled mode that draws more pixels than the panel has. You get 15 seconds to keep or undo a change.
Honest limits
- Hedroom does not manage containers, set Docker's memory limit or read per-container usage. It sees Docker Desktop as one app.
- It does not show per-process disk or network activity. Activity Monitor and Instruments do that better. Compared.
- Pausing or moving to efficiency cores is a blunt tool. If a pause changes nothing measurable, the receipt says so, and after three such receipts Hedroom flags the rule as not helping.
- A pause skips any process in an app's group that is signed by Apple, so it may not cover every process an app starts.
- Storage cleanup is a convenience. Your own scripts and
docker system prunecan do more, and Hedroom will not run them.
Try it, then decide
Monitoring and explanations are free, with no card and no account. Pro will have a 7-day free trial that needs a card, and you can cancel before it ends. Pro is a subscription, from $31.95 a year, or $7.95 a month, planned prices.