EXIFiler

Automatically organize your mobile media by what's inside it

Smart Background Media Service for Mobile

EXIFiler monitors any folder you configure and automatically moves matching photos and videos to a dedicated destination — no manual sorting needed. Originally built for Meta AI Glasses media, it works with any device or camera photos that can be identified by EXIF metadata or embedded file properties.

Available now on Android. iOS support is coming soon.

Features

Automatic Detection

Identifies media files by inspecting EXIF metadata (JPEG) and MP4 box atoms — not just filenames — making it accurate across any source device or app.

Background Service

Runs as a foreground service with persistent notification. Survives device reboots.

Fully Configurable Profiles

Create monitoring profiles: choose any source folder to watch, define file-type and EXIF criteria, and set the destination — all independently configurable.

Activity Log

In-app scrollable log showing the 10 most recent file operations.

Scoped Storage

All file I/O uses ContentResolver/MediaStore with no raw filesystem paths.

Kotlin Multiplatform

Detection logic is shared across platforms via KMP. Android is available today; iOS support is coming soon.

How It Works

1

Enable the Service

Turn on the background monitoring service with a single toggle.

2

Configure a Profile

Set up one or more monitoring profiles: pick a source folder to watch, define file-type and EXIF match criteria, and choose a destination folder for each profile.

3

Automatic Organization

EXIFiler monitors your configured source folder(s) and automatically moves matching files in real-time.

Detection Logic

EXIFiler uses metadata-based detection to identify files rather than relying on filenames. The built-in rules cover Meta AI Glasses media (the original use case), and the architecture is designed to support additional device profiles in the future:

Built-in detection rules (current version)
Format Metadata Field Match Condition
JPEG / JPG EXIF IFD0 Make tag (0x010F) equals "Meta" (case-insensitive)
MP4 / MOV udta/©cmt box content contains "device=Ray-Ban Meta Smart Glasses"

Requirements — Android

Installation — Android

  1. Download the latest APK from the Releases page
  2. Install the APK on your Android device
  3. Grant required permissions when prompted
  4. Enable the service and configure your monitoring profile(s)
  5. Done! EXIFiler will now automatically organize your media as it arrives in your configured source folder(s)

Technology

EXIFiler is built with a Kotlin Multiplatform architecture designed for Android and soon iOS:

Open Source

EXIFiler is open source and available on GitHub. Contributions, issues, and feature requests are welcome!

Roadmap

Phase 1: KMP Android ✅

Complete

Phase 2: KMP iOS

Planned

Phase 3: Swift iOS

Planned

Phase 4: Swift Android

Planned