Local-first macOS video organization toolkit.
Drag folders onto a tool, preview with Dry Run, and tidy libraries on your machine — sort, rename, slow-mo, 1-minute stamps, plus GPS / iPhone helpers with a built-in City / GPS Map (5-mile pins).
↓ Download Libra.dmg · All releases
- Drag-and-drop tools — drop a folder to scan; Dry Run previews automatically
- Undo last run — put moved files back (or delete created copies)
- Dry Run first — bright yellow Preview only toggle; Desktop reports named
Libra Sorter Dry Run 1.txt(tool name swaps per mode) - Home grid — Libra Sorter, iPhone Model Sort, GPS, Slo-Mo, 1-Min-Adjuster, and Photos Only
- Libra Sorter — ProVid, VidRes, ProMax, MaxVid; optional prefix replaces the original name (
katie 720p W30 002.mp4); KeepName keeps original filenames - City / GPS Map — MapKit pins clustered within 5 miles, merged by city; expanded on the GPS tool, collapsed on the others (coordinates stay on each row); click a filename to open the video
- GPS — city folders from coordinates on Write,
No-GPSwhen location is missing; Preview usesGPS/No-GPSfolders - Optional date / camera folders — extra sort keys on the sort tools
- Duplicates — likely extras (same size, duration, resolution, fps, codec) go in a Duplicates folder
- Identification — each row shows resolution, fps, iPhone/Apple, and GPS coordinates (not the container; the filename already has that)
- iPhone Model Sort — iPhone / Other Apple / Not Apple (videos)
- Transform — Slo-Mo copies and 1-Min-Adjuster sequential timestamps (these need ffmpeg)
- Resilient import — cancelable scans; per-file probe failures don’t stall the batch
- Local-first organize — sort, rename, and file moves stay on your Mac. City names on the GPS map use Apple reverse-geocode when you open the map, or when you Write on GPS. Check for Updates talks to GitHub when you ask.
- Native SwiftUI — Apple Silicon macOS app, ad-hoc signed DMG
- Download
Libra.dmg - Open the DMG and drag Libra.app to
/Applications - First launch — macOS 15+ removed the right-click → Open bypass: try to open it once, then System Settings → Privacy & Security → Open Anyway (ad-hoc signed build)
Requires macOS 14+ on Apple Silicon. ffmpeg via Homebrew when transforms need it.
- Open Libra and pick a tool from the home grid (use Photos Only to move stills out)
- Drop a folder or videos, or use Open Folder / Select Videos
- Leave Preview only on to plan the run; turn it off and press Write to change files (confirm first)
- Use Undo last run if a live pass wasn’t what you wanted
- Use the City / GPS Map pins to inspect locations; click a filename to open the video
- Click a row to open the file; right-click to Reveal in Finder
swift build
swift runswift test requires the full Xcode.app (XCTest).
Package a macOS .app + DMG (ad-hoc signed):
./scripts/build-mac.sh
# → build/Release/Libra.dmg| Surface | Value |
|---|---|
Display name (UI, Dock, .app, DMG) |
Libra |
| GitHub | RazorBackRoar/Libra |
| appId | com.razorbackroar.libra |
| Version | Sources/Libra/Resources/version.json |
MIT — see LICENSE.
If you need me, give me a holler.
