# photoo: an Android photo triage app that swipes instead of files

> A native Kotlin app that turns gallery clean-up into a swipe gesture, and runs its recognition on the device with no network permission and no upload. The source is published for auditing, under a licence that forbids redistribution.

**xigua222/photoo** — photoo 是一款 Android 原生的极简照片整理工具。滑动卡片就能快速整理相册——左滑删除，右滑收藏，上滑保留。还有一系列"该有的全都有"的功能：相册分析生成专属摄影画像、沉浸式回顾喜爱照片、智能识别相似照片和低质量图片、视频和图片压缩......  但 photoo 不只是一个"清理"软件，它更是"回忆"。

- Repository: https://github.com/xigua222/photoo
- Website: https://photooapp.com/
- Stars: 833 · Forks: 33
- Language: Kotlin
- License: NOASSERTION
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/xigua222-photoo

## The card swipe replaces the filing decision

photoo is a native Android photo organisation tool written in Kotlin, and its central idea is that the decision to keep a photo should take one gesture rather than a trip through a file system. Cards appear in a random order by default, so the next photo might be from last week or from a year ago, and the README argues that the uncertainty is what keeps you curious and motivated to keep going. The gestures are fixed: swipe left to delete, right to mark as favourite, up to keep. The unit of work is a group of 16 photos, adjustable in settings between 10 and 30, and the idea is to turn a gallery of thousands of pictures into a series of small tasks. The card footer shows capture time and location from EXIF data, along with content recognised by on-device AI.

## Recognition runs on the phone: duplicates, blur, exposure

Beyond the swipe loop the app lists a set of analysis features. Album analysis produces a photography portrait, a summary of your own shooting habits. A similar photo finder surfaces duplicates or near duplicates. A low quality detector flags blurred shots, underexposed ones and overexposed ones, described in the README as the failed frames worth discarding. There is compression for photos and video, with the claim that the picture quality is almost unchanged while the file size roughly halves. That compression figure is the developer's own statement in the README, with no measurement method given, so treat it as a marketing claim rather than a result. A regret feature provides undo and lets you adjust before deletion, so the destructive action is reversible.

## No network permission, which is why there are no ads

The privacy position is the part the project differentiates itself on, and it is stated as a design constraint rather than a setting. The app supports running without network permission, never uploads the photos themselves in any form, and performs face detection and image classification entirely on the phone. The README connects this to a commercial decision it calls bold: advertising and subscription revenue are abandoned, because those usually require network access and third-party SDKs. The promise is that photoo will always have no ads, will not require registration or login, and will work without a network. That is a coherent position for a photo gallery, and it is verifiable in a way most privacy claims are not, since a reviewer can install the APK, watch its permissions and read the source.

## Building the APK yourself for audit purposes

The first version of photoo was open sourced in full so that it can be audited for security, and the README gives the build command, which works from the android directory in the repository:

```bash
cd android
./gradlew assembleRelease
```

That is the whole procedure, and it assumes a machine with a JDK and the Android SDK configured. For ordinary users the download path is the latest APK from the releases page, with a note that installation may require allowing apps from unknown sources. The repository root holds the android project, the licence files in English and Chinese, the logo, a function.md document and the two READMEs, so the published source is the application rather than a subset of it.

## A source available licence, not an open source one

The licensing is the sharpest edge of the project and it is easy to misread. The badge says photoo Source License, the README calls it the photoo source code licence, and the terms are listed in two lines: available for security audit, and strictly forbidden to modify, distribute, use commercially or create derivative works. The root holds LICENSE and LICENSE_EN. So the source is published, but the permission is narrower than any open source licence in one specific way, since you may read it and you may not build on it or pass it on. Compared with the usual alternatives, this is the opposite of what a package published under MIT or Apache 2.0 would give you, where modification and redistribution are permitted and only attribution is required. The repository listing records the licence as one GitHub cannot classify, which matches a custom grant of this kind.

## Beta status, a v3 line, and an unfinished list

The status badge reads Beta and the release history runs v3.1 on 2026-04-07, v3.2 on 2026-04-15 and v3.3 in May 2026, so the versioning is short and the cadence is brisk. The repository is not archived and the last push was on 2026-08-13. The README is candid about what is not finished, listing more reliable person recognition, on-device AI optimisation and faster recognition efficiency as work still to do, and it says the development is only in progress with no completion in sight. The project also invites feedback and contributions, though the licence terms mean contributed code would land in an application whose binary cannot be redistributed, which is a tension worth thinking about before filing a pull request. The homepage is photooapp.com and the download is the APK from the releases page rather than a store listing.

## Conclusion

photoo suits an Android user with a large gallery who wants fast triage and refuses to send personal photos to a server, and it suits a reviewer who wants to read the source of an app that makes privacy claims. It does not suit anyone who needs to modify the app, ship a fork or use it commercially, because the licence explicitly forbids modification, distribution and commercial use. Before building, read the LICENSE file rather than the badge, since this is source available rather than open source, and expect a beta grade application with a README that lists unfinished work such as more reliable person recognition.

## FAQ

### Is photoo open source?

The source is published for security audit under the photoo Source License, which permits auditing but forbids modification, distribution, commercial use and derivative works. The repository licence is listed as one GitHub cannot classify.

### How do I build photoo from source?

Run cd android followed by ./gradlew assembleRelease. The README states the first version was open sourced in full so that it can be audited for security.

### Does photoo need an internet connection?

No. The README says photoo supports running without network permission, never uploads photos, performs face detection and image classification on the device, and will always work without a network, with no ads and no registration.

### How does photoo organize a photo gallery?

With card gestures: swipe left to delete, right to favourite and up to keep. Cards are shown in random order, in groups of 16 by default and adjustable in settings to between 10 and 30 photos.

### Can I undo a deletion in photoo?

Yes. The README describes a regret feature that supports undo and lets you adjust before deleting, which is intended to make accidental deletion unlikely.

## Sources

- [Issues](https://github.com/xigua222/photoo/issues)
- [Project website](https://photooapp.com/)
- [README](https://github.com/xigua222/photoo/blob/main/README.md)
- [Releases](https://github.com/xigua222/photoo/releases)
- [xigua222/photoo on GitHub](https://github.com/xigua222/photoo)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/xigua222-photoo
