A privacy-first macOS menu bar system cleaner that operates on See Nothing, Know Everything principle.
Cleanify extracts powerful insights from metadata alone—file signatures, timestamps, EXIF data, video codec information—without reading file contents. Privacy-first, 100% local, zero cloud dependency.
- Disk Analysis — Monitor free/used space
- Cache Scanner — Find and clean cache files
- Log Cleaner — Remove old log files
- Trash Management — View and empty .Trash
- Downloads Manager — Identify old downloads (90+ days)
- Menu Bar App — Lives in your menu bar for constant monitoring
- Zero content access by default
- Metadata-only analysis (size, dates, file signatures)
- 100% local, zero cloud
- Protected path validation prevents deleting system files
| Layer | Technology |
|---|---|
| Frontend | React 19 + TypeScript + Vite |
| Backend | Rust (Tauri 1.x) |
| Styling | Tailwind CSS v4 + CSS Variables |
| Animation | Framer Motion 11 |
| State | Zustand + React Query |
| Fonts | Syne (display), DM Mono (data) |
# Install dependencies
npm install
# Development
npm run tauri dev
# Production build
npm run tauri build- Rust 1.79 or earlier (see BUILD_INSTRUCTIONS.md)
- macOS 13.0+
- Node.js 18+
| Command | Description |
|---|---|
get_disk_info |
Disk space via df |
get_memory_info |
Memory via vm_stat |
scan_caches |
Find cache files |
scan_logs |
Find log files |
scan_trash |
Scan .Trash |
scan_downloads |
Find old downloads (90+ days) |
delete_files |
Delete with protection |
empty_trash |
Empty trash |
get_home_path |
User home directory |
get_downloads_path |
Downloads directory |
cleanify/
├── src/ # React frontend
│ ├── App.tsx # Main component
│ ├── main.tsx # Entry point
│ └── assets/ # Static assets
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── lib.rs # Commands
│ │ └── main.rs # Entry
│ ├── Cargo.toml # Dependencies
│ └── tauri.conf.json # Config
├── SPEC.md # Full spec
├── IMPLEMENTATION_PLAN.md # Roadmap
└── BUILD_INSTRUCTIONS.md # Setup
MIT