explaingit

leonxlnx/image-sorter-app

4KotlinAudience · generalComplexity · 2/5ActiveSetup · moderate

TLDR

PhotoSwipe is an Android app that turns clearing your camera roll into a swipe card game. Left deletes in batches, right keeps, up favorites, down moves to a folder.

Mindmap

mindmap
  root((image-sorter-app))
    Inputs
      Device camera roll
      User swipe gestures
      Folder settings
    Outputs
      Pictures PhotoSwipe folder
      DCIM PhotoSwipe folder
      Batched delete prompts
    Use Cases
      Clean years of photos fast
      Move shots into albums
      Favorite best photos
    Tech Stack
      Kotlin
      Jetpack Compose
      Material 3
      Android

Things people build with this

USE CASE 1

Triage a backlogged camera roll using Tinder-style swipes

USE CASE 2

Sort photos into custom albums during a single sitting

USE CASE 3

Build a privacy-respecting gallery cleanup app from source

USE CASE 4

Sideload an open-source alternative to paid photo cleaners

Tech stack

KotlinJetpack ComposeMaterial 3Android

Getting it running

Difficulty · moderate Time to first run · 30min

No Play Store build. You need JDK 17, the Android SDK, and to sideload a debug APK or build from source.

In plain English

PhotoSwipe is an open source Android app that turns cleaning out your camera roll into a swipe based card game, similar in feel to Tinder. Each photo from your gallery shows up as a card. You flick it left to queue it for deletion, right to keep it, up to copy it into a Favorites folder, or down to move it into a folder you have set up. The goal is to chew through years of photos in minutes instead of tapping each one individually. A few design choices keep the experience calm. Left swipes are collected into batches, so Android only asks you to confirm a delete once per batch instead of once per photo. The default batch size is ten and can be set anywhere from one to fifty. A small undo pill slides in after each swipe and fades after a few seconds, instead of a snackbar appearing every time. You can long press a card for a full screen preview before committing. The app is built in Kotlin with Jetpack Compose and Material 3, supports Android 8 and above, and follows Material You dynamic color on Android 12 and later. It works edge to edge, handles tablets and landscape, and supports the predictive back gesture on Android 13 and later. There is also a themed monochrome icon and a Reduce motion toggle for accessibility. Privacy is a stated priority. The app has no internet permission, no analytics, no crash reporting, and no tracking. Folders you create live under Pictures/PhotoSwipe or DCIM/PhotoSwipe and show up in every gallery app. There are no Play Store builds. F-Droid metadata is included for submission, debug APKs are attached to merged pull requests for sideloading, and the README walks through building from source with JDK 17 and the Android SDK.

Copy-paste prompts

Prompt 1
Add a duplicate-detection screen to image-sorter-app that groups near-identical photos before swipe sorting
Prompt 2
Port image-sorter-app's swipe gesture handler to Compose Multiplatform for desktop testing
Prompt 3
Write a Gradle task that builds image-sorter-app and outputs a signed release APK from CI
Prompt 4
Add an undo stack to image-sorter-app that lets the user revert the last five swipes instead of just one
Prompt 5
Implement a video-aware mode in image-sorter-app that previews short clips on long press
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.