Your Mac is carrying ballast.

Tuesday's vite server, a Claude session nobody typed into, a 1 GB Slack. Ballast groups memory by app, project and Claude session, and stops what nobody uses.

Download Ballast 1.1

Apple silicon, macOS 15 or later. Signed and notarized.

Ballast's menu bar panel: 15 GB of 16 GB used, swap up 542 MB in 15 minutes, and the last rule activity seven minutes ago.
Grouped by project
A project's vite, storybook and esbuild add up to one line.
Unused for
How long since each app or process last did anything.
In RAM and compressed
What macOS squeezed or moved to swap, per process.

See what grew before the swap did.

One reading a minute for 24 hours. Click any minute to see what was largest, what grew before it and which rules acted.

Pressure, shaded
Yellow when elevated, red when critical.
Swap warnings
A notification names what grew when swap jumps 512 MB in 15 minutes.
Rules that wait
Stop idle servers only when the memory is needed.

Park a project tonight. Start it again tomorrow.

Park stops a project's servers and containers. Start Again brings them back with the same folder and environment.

Rules rehearse before they act.

Presets for forgotten dev servers, idle Rails, empty Claude sessions and bloated Slack. A new rule only logs what it would do until you switch it on.

What Ballast leaves alone

System and other users' processes
Never touched, and neither is the app in front.
Shells, editors and agents
Park leaves them running.
Unsaved work
Apps are asked to quit, so they can refuse.
The network
Ballast has no network code.

Ballast

Apple silicon, macOS 15 or later.

Download Ballast 1.1