Free AppmacOS

Sync App for macOS

A professional-grade macOS backup utility for fast, incremental, and reliable backups powered by rsync. Clean UI, profiles, scheduling, notifications, and full run history — built for users who want dependable backups without enterprise complexity.

Version 2.0 — Now with Profiles, Scheduling, and macOS Notifications

Sync App v2.0 interface with profiles, scheduling, exclusions, and sync options

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
  • Profiles — save and reuse source/destination pairs
  • Scheduling — automated daily or weekly syncs
  • Notifications — macOS alerts on success or failure
  • History & Logs — timestamps, durations, and per-file details
  • Preview mode — validate before writing any files

Core Features

📁 Folders + Sync Engine

  • • Native folder picker for Source and Destination
  • • Powered by rsync for speed and resilience
  • • Option to preserve root folder structure

🚫 Exclusion Patterns

  • • Skip .git, node_modules, *.tmp, etc.
  • • Toggleable chips with tooltips
  • • 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
  • • Works automatically while app is open

🔔 Notifications

  • • macOS notifications on success/failure
  • • Click notification to open run log
  • • Never miss a failed backup again

📊 History + Logs

  • • Full run history with timestamps and durations
  • • Total bytes synced and average speed
  • • Per-file logs saved for every run

🚀 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 v2.0.0
git push origin v2.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

StepWhat Happens
1. Tag PushGit tag (e.g., v2.0.0) triggers GitHub Actions
2. Clean BuildRuns npm run dist on a fresh macOS runner
3. ArtifactsGenerates DMG and ZIP installers
4. PublishUploads 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
  • rsync available in PATH (pre-installed on macOS)

Ready to simplify your backups?

Download Sync App for macOS

Free and open source • No account required

Interested in my approach to building and shipping software? Let's talk