Minimal,easy to use and expressive media sorter for Android.
Built with Jetpack Compose and Material Design 3
This app solves the common problem of cluttered photo galleries by making the cleanup process quick, fun, and safe with its modern, gesture-driven interface.
- Swipe-Based Sorting: Swipe down to keep photos/videos, swipe up to delete
- Review System: Preview deleted items in a zoomable grid before permanent deletion
- Advanced Media Viewer: Pinch-to-zoom images, play videos with progress control, fullscreen mode
- Material Design 3: Dynamic colors, smooth animations, predictive back gestures
- Customizable Settings: Light/Dark/System themes, Material You colors, blurred backgrounds
- Undo & Batch Actions: Restore individual items or delete all at once
| Category | Technology |
|---|---|
| Language | Kotlin 100% |
| UI Framework | Jetpack Compose |
| Design System | Material Design 3 |
| Architecture | MVVM with StateFlow/SharedFlow |
| DI | Hilt |
| Database | DataStore |
| Image Loading | Coil |
| Zoomable Image Buffer | Telephoto |
| Async | Kotlin Coroutines & Flow |
Download the latest APK from the Releases page.
Soon on Play Store and F-Droid
Contributions are welcome! Please feel free to submit a Pull Request.
Quick Start:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Run local checks:
./gradlew lint detekt testDebugUnitTest assembleDebug - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request (use the PR template)
CI/CD:
- All PRs are automatically checked with Android Lint, Detekt static analysis, unit tests, and build verification
- Releases are automatically built and published when tags are pushed
- Changelogs are auto-generated from commit history and merged PRs
See Contributing Guidelines for detailed information.
This project is licensed under the MIT License - see the LICENSE file for details.
Made & dedicated to my mom with ❤️, by Isaac Serrano




