Intelligent media file synchronization with duplicate detection, AI-powered organization, and flexible monetization.
SyncMedia copies pictures and videos from a source folder to an organized destination folder tree while preventing duplicates through intelligent hashing.
Installation:
- Microsoft Store (Recommended): Search "SyncMedia" → One-click install
- Manual: Download from Releases
Basic Setup:
- Set Source folder (where camera/phone downloads are)
- Set Destination folder (where organized files go)
- Set Rejects folder (where duplicates are moved)
- Click "Sync Media" → Done!
- ✅ Unlimited files (no hard caps!)
- ✅ MD5 duplicate detection
- ✅ Core sync functionality
- ⏱️ Progressive throttling (0-10s delays)
- 📺 Banner + video ads
- 🌐 Internet required
- 🎯 Watch ad to reset counter → instant processing!
- ✅ Zero throttling (always instant)
- ✅ AI-powered duplicate detection
- ✅ GPU acceleration (10-100x faster)
- ✅ Offline mode
- ❌ No ads
Progressive Throttling:
0-50 files: 0-500ms ⚡ Fast
100 files: 1000ms 🟡 Moderate
200 files: 2000ms 🟠 Slow
500+ files: 5-10s 🔴 Very slow
Watch ad → Reset to 0ms ⚡
- User Guide - Complete feature documentation and usage instructions
- AI Features - AI-powered duplicate detection guide
- Advanced Duplicate Detection - Technical details on duplicate detection
- Store Publishing - Microsoft Store submission guide
- Migration Guide - Technical migration documentation
- .NET 9.0 SDK
- Windows 10 SDK (10.0.17763.0+)
git clone https://github.com/JUUTC/SyncMedia.git
cd SyncMedia
dotnet restore
dotnet build -c Release
dotnet run --project SyncMedia.WinUI/SyncMedia.WinUI.csprojdotnet test # Run 42 unit testsTest Coverage:
- ✅ 11 LicenseInfo tests
- ✅ 14 LicenseManager tests
- ✅ 17 FeatureFlagService tests
- ✅ Progressive throttling formula
- ✅ Counter reset mechanism
- ✅ Hardware binding validation
SyncMedia.Core provides a robust, production-ready foundation:
- Error Handling: Centralized error management with
IErrorHandlerinterface - Logging: Structured logging using Microsoft.Extensions.Logging
- Input Validation: Secure path validation with
PathValidatorto prevent path traversal attacks - Testing: Comprehensive test suite with 210+ tests and 49%+ code coverage
- ✅ Exception handling in all async methods
- ✅ Centralized error management
- ✅ Input validation on all file paths
- ✅ Structured logging for diagnostics
- ✅ Unit tests for business logic
- ✅ Cross-platform compatibility
Run the test suite:
# Run all tests
dotnet test
# Run tests with coverage
dotnet test /p:CollectCoverage=trueSee LICENSE file.
Settings Storage: %LOCALAPPDATA%\SyncMedia\settings.xml
License Storage: %LOCALAPPDATA%\SyncMedia\license.json