Why Sync App?
Built for users who want simple, dependable backups without enterprise complexity — and without the slowdowns of Finder copies.
- Faster than Finder for large or repeated syncs
- Incremental by default — only copies what changed
- Light & dark mode — follows macOS system appearance
- Profiles — save and reuse source/destination pairs
- Scheduling — automated daily or weekly syncs
- Keyboard shortcuts —
⌘,Settings,⌘SSync,⌘⇧PPreview - History & Logs — two-pane layout with full run details
- Preview mode — validate before writing any files
✨ Core Features
🌗Light & Dark Mode
- • Adaptive theming via CSS custom properties
- • Automatically follows macOS system appearance
- • Separate light and dark app icon variants
📁 Folders + Sync Engine
- • Native folder picker or drag-and-drop from Finder
- • Powered by rsync for speed and resilience
- • Mirror mode with optional --delete flag
🚫 Exclusion Patterns
- • Skip .git, node_modules, *.tmp, etc.
- • Toggleable chips with live badge counts
- • Add custom patterns in one click
💾 Profiles
- • Save named presets (e.g., "Work-SSD", "Photos-Archive")
- • Apply or delete profiles instantly
- • Fast reuse for common backup scenarios
📅 Scheduling
- • Schedule daily or weekly syncs
- • Choose which profile to run on schedule
- • Pulsing indicator when a schedule is active
⌨️ Keyboard Shortcuts
- • ⌘S to sync, ⌘⇧P to preview, Esc to close modals
- • ⌘, opens Settings, ⌘⇧? opens Help
- • HIG-compliant macOS application menu
📊 History + Logs
- • Two-pane layout — run list + full detail view
- • Date, duration, paths, and per-file actions
- • Clear individual runs or all history at once
🔔 Notifications + Tray
- • macOS notifications on success/failure
- • Menu bar tray icon with schedule status
- • App stays running when window is closed
🚀 From Code to Release: A DevOps Approach
When I built Sync App, I treated it like a real product — not just a side project. Every release follows a repeatable DevOps pipeline that keeps builds traceable, eliminates the "which file is the right one?" confusion, and gives users a single, reliable download source.
The Release Routine
# 1) Develop and test locally npm start # 2) Push code to main git push origin main # 3) Tag the version (triggers CI/CD) git tag v3.0.0 git push origin v3.0.0 # 4) GitHub Actions builds the app # 5) DMG/ZIP attached to GitHub Release # 6) Users download from Releases page
What Happens in CI/CD
| Step | What Happens |
|---|---|
| 1. Tag Push | Git tag (e.g., v3.0.0) triggers GitHub Actions |
| 2. Clean Build | Runs npm run dist on a fresh macOS runner |
| 3. Artifacts | Generates DMG and ZIP installers |
| 4. Publish | Uploads to GitHub Releases automatically |
Why This Matters
Repeatable
Every release follows the same process — no manual steps, no surprises.
Traceable
Every binary maps to an exact commit and tag — full audit trail.
Clean Repo
No large binaries in git — artifacts live in GitHub Releases.
Single Source
Users always download from one official location — no confusion.
🛠️ Tech Stack
Runtime
- • Electron (desktop app runtime)
- • Node.js (main process)
- • HTML/CSS/JS (renderer UI)
Build & Release
- • electron-builder (packaging)
- • electron-updater (auto-update)
- • GitHub Actions (CI/CD)
Core Engine
rsync -a --human-readable --out-format=%n|||%l
Fast, battle-tested file sync that powers incremental backups.
📋 Requirements
- ✓macOS 10.15 (Catalina) or later
- ✓Apple Silicon (arm64) — native performance on M-series Macs
- ✓rsync available in PATH (pre-installed on macOS)
Ready to simplify your backups?
Download Sync App for macOSFree and open source • No account required


