On the record · 2025 to now · Independent

Photo Importer

A macOS desktop app built with Electron to import photos and videos from cameras and SD cards.

When
2025 to now
For
Independent
Built with
TypeScript, Electron

The brief

I lost the import flow I liked when I cut my subscriptions, so I built the one I actually wanted. It is opinionated on purpose: date-patterned folders, keepers flagged before the copy, duplicates skipped. It does not try to replace anything else in the kit; it exists so the import step is certain.

The mark

The mark and the icon it ships under.

Photo Importer markPhoto Importer mark, white on darkPhoto Importer app icon
The mark. The app icon.

What it does

  • Auto-detect volumes: Cameras and SD cards detected on mount
  • EXIF metadata: Read date, camera model, lens, and dimensions
  • Folder patterns: Organize imports by YYYY/YYYY-MM-DD or custom patterns
  • Duplicate detection: Skip files that already exist at the destination
  • Pick / Reject workflow: Flag keepers and rejects before importing
  • Parallel imports: A worker pool copies files concurrently instead of one long queue
  • Background auto-updates: The app updates itself quietly between launches
  • Light & dark themes: Follows system preference

Install

Download from GitHub Releases. Every push to main builds a fresh alpha. macOS only.

From source

git clone https://github.com/juanmnl/importer.git
cd importer && npm ci
npm start        # dev mode
npm run make     # build DMG + ZIP

Node 20+ · macOS · TypeScript + Electron · MIT License

Where it stands

Shipped and in use; it's how photos get off my cameras. Signed and notarized macOS builds on GitHub Releases, built in CI. Open source under MIT.