SyncWatcher keeps SD cards, USB drives, and working folders backed up on macOS without turning every copy job into a manual routine.
It is built for people who move files constantly and want a backup flow that feels native, fast, and predictable.
- Plug in and go: Detect removable media as soon as it mounts.
- Turn repeat work into one task: Save a SyncTask once and reuse it whenever needed.
- Stay safe before and after copy: Preview changes with
dry-run, verify with checksum mode, and inspect target-only files before deletion. - Keep folders current automatically: Let
watchmodereact to file changes in the background.
The main dashboard keeps task state, progress, and quick actions visible so backup jobs stay easy to understand.
Choose a Source, pick a Target, and shape the task around your workflow instead of repeating the same copy setup every time.
SyncWatcher supports removable storage targets, automatic watching, verification options, and exclusion rules so the task can match the way you actually work.
Detailed walkthroughs:
- SyncTask Guide (English)
- SyncTask Guide (Korean)
- MCP Control Guide (English)
- MCP Control Guide (Korean)
- One-way sync from Source to Target
- Dry-run mode for previewing changes before execution
- Checksum validation with xxHash64 when copy verification matters
- Target-only file review before cleanup
- Reusable SyncTask presets for recurring jobs
- SD card and USB detection
- Mounted volume monitoring on macOS
- Folder watching powered by
notify - Disk space visibility for total and available capacity
- macOS-native app built with Tauri
- Bold high-contrast UI designed for quick scanning
- Dark mode support
- Localized interface in English, Korean, Spanish, Chinese, and Japanese
- Rust 1.70+
- Node.js
^20.19.0 || >=22.12.0 - pnpm 10+
- macOS 11+
- Download the latest macOS release from GitHub Releases.
- Open the
.dmg. - Move
SyncWatcher.apptoApplications. - Launch the app.
Optional supporter purchases run through Lemon Squeezy, but app downloads and in-app updates continue to use GitHub Releases.
After purchase, Lemon Squeezy sends a supporter key by receipt email and exposes it on the customer order page. In SyncWatcher, open the supporter dialog from the sidebar or Settings and paste the key there. A supporter purchase does not add or restrict rights under Apache-2.0 and does not unlock extra features.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/studiojin-dev/SyncWatcher/main/scripts/install-macos-latest.sh)"This installer script:
- Reads the latest GitHub release tag
- Selects the matching
aarch64orx86_64DMG - Downloads the DMG and checksum manifest
- Verifies the DMG SHA-256
- Installs
Sync Watcher.appinto/Applications
If you see curl: (56) or 404, run the same command again so the latest release metadata is re-resolved before download.
cd src-tauri && cargo build --release --bin sync-cli
./src-tauri/target/release/sync-cli \
--source /Volumes/SD_Card \
--target ~/Backups/SD \
--dry-runSyncWatcher source code is licensed under the Apache License 2.0. Commercial use, modification, redistribution, and forks are permitted under Apache-2.0.
The SyncWatcher name, logo, application icon, and StudioJin branding are not licensed under Apache-2.0. Modified distributions must use their own name and application icon. See TRADEMARKS.md and BRAND_ASSETS.md.
GitHub Releases and the Mac App Store are StudioJin's official distribution channels. This designation does not limit anyone's Apache-2.0 rights to build or redistribute the software under different branding.
SyncWatcher does not currently accept external pull requests. Report bugs and request features through GitHub Issues, following CONTRIBUTING.md. Report security vulnerabilities privately as described in SECURITY.md, not in a public issue.
- Optional supporter purchase: Lemon Squeezy checkout
- Additional tip: Buy Me a Coffee
- Support email: support@studiojin.dev
- Terms & Conditions: TERMS.md
- Privacy Policy: PRIVACY.md
- Terms & Conditions (Korean): TERMS.ko.md
- Privacy Policy (Korean): PRIVACY.ko.md
