Privacy-first offline media vault for Android
GalleryX is a fully offline, privacy-focused media vault built for Android.
It encrypts photos and videos locally using AES-256 encryption while providing AI-powered semantic search that runs entirely on-device.
No cloud sync.
No external API calls.
No telemetry collection.
All processing, indexing, encryption, and search operations remain local to the device.
- AES-256 encryption for all stored media
- Android Keystore integration for secure key management
- In-memory media decryption during playback
- Encrypted vault backup and restore support
- Natural language image search
- CLIP-based semantic understanding
- ONNX Runtime local inference
- Vector similarity matching using cosine similarity
Example queries:
dog playing on beachcar at nightdocuments on desk
- Fully offline architecture
- No analytics or tracking
- Optional hidden launcher mode
- Biometric authentication using Android BiometricPrompt API
| Component | Technology |
|---|---|
| Language | Kotlin |
| Architecture | MVVM |
| UI | Jetpack Compose + XML |
| Database | Room |
| Dependency Injection | Dagger Hilt |
| Concurrency | Kotlin Coroutines + Flow |
| AI Runtime | ONNX Runtime |
| Encryption | AES-256 |
- Android Studio (latest stable recommended)
- JDK 17+
- Android SDK 24+
- Git
git clone https://github.com/Midxv/GalleryX.gitOpen the project in Android Studio and allow Gradle sync to complete.
The ONNX models are not included in the repository because of file size limitations.
You must manually add the required model files before building the project.
Download the following from the Hugging Face CLIP ONNX repository:
vision_model.onnxtext_model.onnxvocab.json
Recommended source:
https://huggingface.co/Xenova/clip-vit-base-patch32
Place the files inside:
app/src/main/assets/
Final structure:
app/
└── src/
└── main/
└── assets/
├── vision_model.onnx
├── text_model.onnx
└── vocab.json
After adding the models:
./gradlew clean./gradlew assembleDebugOr directly build and run from Android Studio.
Licensed under the MIT License.
See the LICENSE file for details.





