mac app for developers

Sweep up the gigabytes your old projects left behind.

node_modules, Pods, .venv, target, Flutter and Gradle builds. Grouped by project, dated by your last commit, with the one command that brings each back.

Free to scan · one-time purchase · macOS 14+ · Apple silicon & Intel

Real numbers: Sweep on our own ~/Workspace. 449 folders in 142 projects, 185.8 GB. Project names changed.

  • node_modulesnpm · pnpm · yarn · bun
  • .nextNext.js
  • ios/PodsCocoaPods
  • .venvPython
  • targetRust · Maven
  • buildFlutter
  • .dart_toolDart
  • android/app/buildGradle
  • .cxxAndroid NDK
  • vendor/bundleRuby
  • vendorComposer
  • .buildSwiftPM
  • ios/buildXcode
  • .nuxtNuxt
  • .svelte-kitSvelteKit
  • .gradleGradle

by project, not by folder

find gives you a list.
Sweep gives you an answer.

Hundreds of identical node_modules lines tell you nothing. Sweep puts every folder under the project it belongs to, with the size, the last time you worked on it, and whether it's safe to let go.

$ find ~/Workspace -name node_modules -prune

./ReactNative/payroll-app/node_modules
./ReactNative/sales-manager/node_modules
./ReactNative/event-booking/node_modules
./NextJS/client-portal/node_modules
./NextJS/blog/node_modules
./Flutter/world_clock/node_modules
./ReactNative/crm-mobile-old/node_modules
./NextJS/saas-kit/node_modules
./Experiments/todo-2023/node_modules
./NextJS/landing-v2/node_modules
./ReactNative/health-tracker/node_modules
./Clients/acme/web/node_modules
… 74 more

✕ no sizes · no dates · no idea which ones matter

Sweep · ~/Workspace

sales-managerReact Native · last commit 1 year ago
safe5.3 GB
  • node_modules2.4 GBnpm ci
  • ios/Pods2.0 GBbundle exec pod install
  • android/app/build841 MBnpx react-native run-android
client-portalNext.js · last commit 5 months ago
caution1.3 GB
payroll-appReact Native · committed 2 days ago
active9.9 GB

✓ sized · dated · grouped · each with its way back

185.8 GBfound across 142 projects
58.9 GBuntouched for 6+ months, safe to sweep
0.8 sto find all 449 folders
14repos cloned once and never opened again

Measured with Sweep on one developer's Mac, October 2026.

how it decides

It knows when you last cared.

Not when a folder was modified, but when you last worked on the project it belongs to.

safe6+ months untouched

Pre-selected for one-click sweeping.

caution1 to 6 months

Listed, never pre-selected. Tick them yourself.

activethis month

Hidden by default. You're using these.

Your last commit, checkout or pull

Read straight from .git/logs/HEAD, the reflog. No git process, no network, and it knows the difference between a fetch and actual work.

The last file you edited yourself

The newest file in the project, ignoring lockfiles, generated code and the junk folders. An npm install doesn't make a dead project look busy.

Clones you never touched

A repository whose only history is "clone" is something you looked at once. After 2 months it counts as Safe on its own.

Projects you pin

The side project you open twice a year never shows up as stale, however long it has been.

restore before remove

Get any of it back in one line.

Deleting feels safe when you know the way back. Sweep reads the lockfile and project files next to every folder and shows the exact command, before you confirm anything.

Workspaces resolve to the root that owns the lockfile. React Native Pods go through Bundler when there's a Gemfile.

↺ restore commands Sweep detects

  • npmnpm ci
  • pnpmpnpm install
  • yarnyarn install
  • bunbun install
  • Next.jsnpm run dev
  • CocoaPodsbundle exec pod install
  • React Nativenpx react-native run-android
  • Exponpx expo run:ios
  • Flutterflutter pub get
  • uvuv sync
  • Poetrypoetry install
  • pippip install -r requirements.txt
  • Rustcargo build
  • Maven./mvnw package
  • Composercomposer install
  • SwiftPMswift build

safety

Bold with junk. Careful with everything else.

01

Name plus proof

A folder counts only when its name and a project file next to it agree: Pods with a Podfile, target with Cargo.toml. A website template's assets/vendor is left alone.

02

Never what git tracks

If git tracks even one file inside a folder, Sweep doesn't list it. On our Mac that kept 19 committed folders out, from android/build to a library's dist.

03

Skips folders in use

A running next dev, Metro bundler or Gradle daemon holding files in a folder? It's skipped and Sweep tells you which process.

04

Restore before remove

Every folder shows the command that rebuilds it, picked from your lockfile, before you confirm. In the app, in the confirm sheet, in the export.

05

Measured, not guessed

Sizes count hard links once, pnpm stores are handled honestly, and after each clean Sweep shows what your disk actually got back.

06

Trash or delete, your call

Delete for instant space, or Move to Trash if you want a second chance. Bulk selection only ever includes the Safe bucket.

and the caches behind them

Another 58.8 GB in your home folder.

Package managers keep a copy of everything they ever downloaded. Sweep lists those caches separately, never bulk-selects them, and shows each tool's own clean command (like pnpm store prune) as the gentler option.

Global caches on the same Mac, GB
  • npm cache38.2
  • Gradle caches14.0
  • Gradle wrappers2.5
  • Pub cache2.2
  • CocoaPods cache1.4
  • Bun cache0.3
  • pip cache0.2

pricing

Scan free. Sweep once you're sure.

Pay once, no subscription. Updates for version 1 included.

Free scan

$0

  • Scan every project folder you have
  • Sizes, buckets and last activity
  • Restore command for every folder
  • Global caches overview
Download free scan

faq

Questions, answered.

Something else? sweep@qubixcode.com

Is it safe to delete node_modules?

Yes. node_modules, Pods, .venv, target and build folders are all recreated from your lockfile or project files. Sweep shows the exact command for each one (npm ci, pnpm install, pod install, uv sync, cargo build...) before you delete anything. The cost is time: a big React Native project takes a few minutes to install again.

What does the free version do?

Everything except deleting. Scan as many folders as you like, as often as you like, and see every project with its size, last activity and restore command. Cleaning needs a license.

How does Sweep know a project is stale?

From your git history (the last commit, checkout or pull on this Mac, read straight from .git without running anything) and the newest file you edited yourself. Lockfiles and generated files don't count, so an npm install doesn't make an old project look busy. Untouched for 6 months is Safe, 1 to 6 months is Caution, anything newer is hidden.

Can it delete something I need?

Sweep only lists a folder when both its name and a project file next to it match (node_modules, or Pods next to a Podfile, or target next to Cargo.toml). Anything git tracks is never listed, folders a running process is using are skipped, and you can pin projects so they never count as stale.

Why not npx npkill or find . -name node_modules?

Both are great for one Node project at a time. Sweep covers every ecosystem at once (Node, Flutter, CocoaPods, Python, Rust, Gradle, Ruby, PHP, Swift), groups folders by project instead of listing hundreds of identical names, tells you when you last worked on each, and remembers how to bring them back.

Does it need Full Disk Access?

No. You choose the folders to scan. If one is in Desktop or Documents, macOS asks once, as it does for any app.

Does it work with pnpm?

Yes, and honestly. pnpm hard-links node_modules into a shared store, and a project you duplicated in Finder shares its files with the original, so deleting either frees less than its size suggests. Sweep measures what each folder would really free, and after a clean shows what your disk actually got back.

Does anything leave my Mac?

Scans never leave your Mac. The only network requests are the license check (your key and your Mac's model name, never its computer name) and update checks.

How many Macs can I use it on?

Three. Move a license any time with Deactivate This Mac in Settings, or from your purchase page.

Is it a subscription?

No. Pay once, keep it, and get every version 1 update. There's a 14-day refund if it isn't for you.

Which Macs does it run on?

macOS 14 Sonoma or later, on Apple silicon and Intel.

Sweep your projects.

See what's there for free. It takes about a second to find it all.