Skip to content

Your Dev Cleaner

BloatBuster — reclaim the disk space your dev projects left behind

Drop a folder. BloatBuster finds every build artifact hiding inside it, sorts them biggest first, and tells you what each one costs to regenerate — a download, or a build. Everything goes to the Trash, and nothing leaves your Mac.

Download for macOS $2.99 once · macOS 26.0+
  • Dependency caches

    ml-pipeline 4.2 GB

    Back with uv sync — a download, not a build

  • Build outputs

    render-engine 8.4 GB

    Back with cargo build — costs you a compile

  • Stale, 90+ days

    13.31 GB of 32.78 GB

    Flagged after 90 days untouched — the easy win

BloatBuster — Results Mac · 32.78 GB reclaimable across ten projects
The BloatBuster Mac window: a sidebar of project types with their reclaimable totals, the projects of the selected type in the middle, and a detail pane showing the folders to clean and the command that rebuilds them.

01 · The problem

Every folder is big. None of them says why.

A size listing tells you which project is large. It does not tell you which gigabytes are source and which are a cache, which come back from a registry and which cost a full build, or which you last needed in March. So you delete nothing, and buy a bigger disk.

A size listing, biggest first

  • render-engine 8.4 GB
  • TimeTracker 5.68 GB
  • ml-pipeline 4.2 GB
  • game-server 3.12 GB
  • field-app 2.92 GB

The third one is 4.2 GB of virtualenv, and one command brings it back.

02 · The scan

One drop, and the whole tree.

BloatBuster walks what you give it, recognises 17 kinds of project by their marker files, and finds the ones nested inside — so a monorepo is one drop, not one per package. Then it sorts by size and says what each artifact is.

  • Dependency cache cheapest to lose

    Re-downloaded, not rebuilt

    node_modules, Pods, vendor, .venv. A package manager fetches these back from a registry — no compiler, no build, just bandwidth.

    • node_modules pnpm install
    • Pods pod install
  • Build output costs a build

    Recompiled by your toolchain

    target, DerivedData, .build, _build. Getting these back means a full build, so the size is worth weighing against the wait.

    • target cargo build
    • DerivedData xcodebuild
  • Stale the easy win

    Untouched for 90 days

    Whatever it costs to rebuild, you have not needed it in three months. Stale projects are flagged, and they are usually the largest safe win in the list.

    • render-engine STALE
    • game-server 6 days
Results 10 projects · 32.78 GB reclaimable

Reclaimable

32.78 GB

Stale · 90+ days

13.31 GB

Biggest first

  • render-engine BUILD STALE · 5 months ~/Code/render-engine/target · cargo build --release 8.4 GB
  • TimeTracker BUILD ~/Developer/TimeTracker/build · xcodebuild build 5.68 GB
  • ml-pipeline CACHE STALE · 3 months ~/Projects/ml-pipeline/.venv · uv sync 4.2 GB

…and seven more, across Node.js, React Native, Dart/Flutter and PHP.

BloatBuster — Home Drop a folder, or pick a saved workspace
The BloatBuster home screen: a drop zone reading 'Drop a project folder here', a Choose Folder button, an Xcode section listing Derived Data, a list of recently scanned workspaces, and a running total of space reclaimed so far.

03 · What it costs to restore

Nothing is deleted. Everything is regenerated.

Every project carries the exact command that rebuilds what you clean, read from the lockfile in the folder rather than guessed from the language. A tree with a pnpm-lock.yaml says pnpm install, not npm install.

  • Read from your lockfile
  • Cache or build output, labelled
  • Last built, per artifact
  • Stale after 90 days

Two project types have no command, and BloatBuster says so rather than inventing one: Unity and Godot regenerate their caches on the next editor launch, not from a shell.

Project information render-engine · Rust

Folders to clean

target last built 5 months ago 8.4 GB

How to restore

cargo build --release

Run this in the project folder to regenerate what you clean.

04 · Safety

It never deletes anything.

Cleaning calls trashItem, never removeItem. Everything BloatBuster touches sits in the Trash until you empty it, and what it touches is only ever a directory a build produced.

A cleaner you cannot undo is a cleaner you use once. This one shows you the list, moves what you check to the Trash, and hands you the command that rebuilds it.

  • Nothing is pre-selected. You check the projects, and confirm once.
  • Artifacts go to the Trash, so a mistake is a drag back out of it.
  • Exclusion patterns keep a folder out of every future scan.
Clean — what actually happens
  1. You review the list first Nothing is selected for you. Every project is a checkbox with its size beside it.
  2. Artifacts move to the Trash trashItem, never removeItem. macOS keeps the files until you empty it.
  3. Source is never touched Only the directories a build produces. Your code, your lockfiles and your .git are not in the list.
Never in the list whatever else it finds
  • .claude, .cursor, .codex agent history and settings
  • .ipynb_checkpoints Jupyter's autosaves
  • ~/.npm, ~/.pnpm-store keyed by package, not by project
  • Carthage/Checkouts checked-out source
  • .wrangler, .vercel local databases and deploy identity
BloatBuster — Cleaning Moving to the Trash, one project at a time
BloatBuster cleaning: a progress view naming the project being cleaned, with a running count of projects processed and the space freed so far.

05 · Shortcuts & Spotlight

Ask your Mac, without opening the app.

"Show Reclaimable Space" runs from Spotlight, Siri and the Shortcuts app against any workspace you have saved. It answers with a figure and stops there — cleaning stays inside the app, behind a confirmation.

Shortcuts one action

Action

Show Reclaimable Space

Workspace ~/Projects

Result

32.78 GB

reclaimable across 10 projects

Workspaces are folders you have already granted access to, remembered as security-scoped bookmarks. The action cannot reach anything you have not handed the app yourself.

What it will not do

  • Clean. There is no destructive intent, and adding one is not on the list.
  • Scan a folder you have not saved as a workspace.
  • Reach the network. The app has no entitlement for it, intent included.
  • Read only
  • No confirmation needed
  • No network
  • Saved workspaces

06 · Project types

17 kinds of project, one list.

Each is recognised by its marker file — a Cargo.toml, a pubspec.yaml, an .xcodeproj — not by guessing from the folder name.

node_modules · target
DerivedData · .venv
Pods · _build · .terraform

  • Rust cargo build target
  • Node.js npm install node_modules, dist, .next
  • React Native npm install node_modules, Pods, build
  • Tauri npm install node_modules, src-tauri/target
  • Unity Library, Temp, Obj, Logs
  • Python pip install -r requirements.txt .venv, __pycache__, .pytest_cache
  • .NET C# dotnet build bin, obj
  • Swift Package Manager swift build .build
  • Xcode xcodebuild build DerivedData, build
  • Java ./gradlew build target, build, .gradle
  • PHP composer install vendor
  • Dart/Flutter flutter pub get .dart_tool, build
  • Elixir mix deps.get _build
  • CMake cmake --build build build
  • Godot .godot, .import
  • CocoaPods pod install Pods
  • Terraform terraform init .terraform

Unity and Godot show no command because there is none to show: those caches come back when the editor next opens the project, not from a shell.

BloatBuster — Scanning A year of projects in seconds
BloatBuster scanning a folder: a progress indicator with the path currently being walked and a running count of the projects found so far.

08 · Privacy

It cannot phone home.

Network entitlement
NONE
Analytics
NONE
Account required
NO
Folders scanned
ONLY THE ONES YOU DROP
Read the privacy policy →

BloatBuster is sandboxed and ships without the network entitlement, so there is no version of it that reports what is on your disk — not a crash log, not an anonymous count, nothing. It sees the folders you drop on it and the workspaces you save, and it keeps its lifetime tally on your Mac.

BloatBuster — Cleaning complete The tally is local, and only ever goes up
BloatBuster after a clean: a confirmation showing the space freed by this run and the lifetime total reclaimed, with a button to clean another folder.

09 · Pricing

$2.99, once, and that is the whole thing.

No subscription, no in-app purchase, no locked feature waiting behind a second payment. You buy it on the App Store and every Mac on your Apple ID has it.

BloatBuster

One-time
$2.99
  • 17 project types, detected by marker file
  • Monorepos — nested projects, one drop
  • Dependency cache and build output, labelled
  • Rebuild command read from your lockfile
  • Stale flagging after 90 days untouched
  • Saved workspaces and scan exclusions
  • Shortcuts and Spotlight action, read-only
  • Lifetime reclaimed tally, kept on your Mac
Get BloatBuster on the App Store

macOS 26.0+ · sandboxed · no network entitlement

What you are not buying

  • A subscription. There is one price and it is paid once.
  • A background agent. Nothing runs when the app is closed.
  • A system optimiser. It cleans build artifacts, and nothing else.
  • An account. There is nowhere to sign in, because there is no server.

10 · FAQ

The honest answers.

Can it delete my source code?
No. BloatBuster only lists directories a build produces — target, node_modules, DerivedData and the rest. Source files, lockfiles and .git are never in the list, and nothing is removed until you check a project and confirm.
What happens if I clean something I needed?
It is in the Trash. BloatBuster always moves artifacts there rather than deleting them, so you can put them back until you empty it — and every project shows the command that regenerates it anyway.
Does it need Full Disk Access?
No. It is sandboxed and reads only the folders you drop on it or pick in the open panel. Saved workspaces are remembered as security-scoped bookmarks, which is macOS granting access to that one folder rather than to your disk.
Does it clean global caches like ~/.npm?
No, by design. Those are keyed by package rather than by project, so nothing in them can be attributed to anything you would recognise, let alone reviewed one entry at a time. What BloatBuster lists is what it can show you the origin of.
Does it work on a monorepo?
Yes. It looks for projects nested inside the folder you drop, not just at the top level, so one drop covers a whole working directory and each package is listed on its own.
Can it clean from Shortcuts?
No. The Shortcuts action reports reclaimable space and nothing else. Cleaning stays in the app behind a confirmation — an automation that deletes gigabytes without a window open is not a feature worth shipping.