Search Android Photos Without Cloud Upload: 3 Apps Tested
A working fork of the open-source Aves gallery app, posted to GitHub about a month ago, demonstrates something readers trying to search Android photos without cloud upload have been asking for: typed description search and visual similarity matching that run entirely on the phone, with no photo, video, or query ever transmitted anywhere (GitHub discussion, posted about a month ago).
That fork isn't a finished product, and it isn't the only project in this space. zeitkapsl and PicQuery each document a different slice of on-device AI photo search Android users might consider, at different stages of readiness, with evidence quality that varies widely. None of the three, based on what's publicly documented, amounts to a drop-in replacement for Google Photos.
What follows compares what each project actually shows working against what it only claims, and flags what to check before trusting any of them with real photos.
What each project actually documents right now
The Aves implementation exists as a working fork described in a GitHub discussion, not as a feature in the official, installable Aves app. The discussion describes a working fork; the supplied material does not confirm a stable mainline release (GitHub discussion, about a month ago).
The feature stays off until a user turns it on, and only then does the app fetch the model it needs. No model ships inside the installed app itself (GitHub discussion, about a month ago).
zeitkapsl describes its app as running face detection and clustering locally, before any derived data leaves the device (zeitkapsl, about a year ago). That's the company's own documentation rather than independent verification, but the pipeline it lays out is detailed enough to judge on its technical merits.
PicQuery's repository describes itself as an offline image-search app where photos, indexes, and inference stay on the device (PicQuery GitHub, about three years ago). That listing dates to 2023, and the supplied material doesn't confirm current Play Store availability, active maintenance, or which devices it still supports.
Separately, a company blog for Pixel Gallery claims its local models can power person recognition, meaning-based search, and text-in-image search without a server (Pixel Gallery blog, about six weeks ago). That's a vendor claim worth noting, distinct from the three projects above, since it comes with no independent confirmation of availability or accuracy.
Aves is an experimental fork, zeitkapsl pairs local computation with encrypted cloud sync, and PicQuery's current status is undocumented in the supplied material. That distinction matters more than any single feature list, because it decides whether a project is something to test this week or something to just watch.
Can you search Android photos without cloud upload today?
Yes, with caveats attached to every option. Aves' fork returns a ranked list of photos and videos for a typed phrase such as "birthday cake," plus a separate "More like this" list of visually similar items, both described as running without transmitting photos, videos, or queries anywhere (GitHub discussion, about a month ago). That's the clearest example in the research here of search photos by description on Android actually working, not just being promised.
zeitkapsl's documentation describes face detection and people clustering, not typed-description search. It detects faces, filters out weak detections, converts the rest into numerical embeddings, and clusters likely matches into "people" (zeitkapsl, about a year ago). Anyone expecting to type "dog at the park" into zeitkapsl is reaching for the wrong tool.
PicQuery's repository confirms offline image search exists, but it doesn't document whether that search supports natural-language queries comparable to Aves. Readers shouldn't assume parity between the two just because both call themselves offline image search (PicQuery GitHub, about three years ago).
Where the private Android photo search model gets more complicated
zeitkapsl's data flow isn't "nothing leaves the device." Photos themselves get encrypted and uploaded to the service's own cloud storage, while the face-detection and clustering computation happens locally. Only the resulting encrypted face metadata syncs across a user's devices, and the company says that data blob decrypts solely with the user's own cryptographic key (zeitkapsl, about a year ago).
That's local computation paired with encrypted cloud sync, a meaningfully different model from fully offline. Readers chasing private Android photo search with zero cloud component should read zeitkapsl's own architecture notes before assuming "local" means "never touches a server."
zeitkapsl's documentation also lists concrete accuracy limits. Faces that are low-confidence, too small, blurry, poorly lit, or not facing the camera get filtered out and discarded, and a detected face with no matching cluster can sit unresolved until a later scan finds enough similar faces to group it (zeitkapsl, about a year ago). That's a normal limitation of face-clustering systems, but it means grouping won't be complete the first time it runs.
What running models locally costs
Running inference on-device isn't free, a trade-off Pixel Gallery's own blog acknowledges even while arguing it beats paying for server infrastructure indefinitely (Pixel Gallery blog, about six weeks ago).
The Aves fork's bundled ONNX Runtime library adds roughly 23 to 33 MB to app size, on top of a separately downloaded model. The project targets low- and mid-range hardware with 2 to 4 GB of RAM, using Amazon Fire tablets as its reference device (GitHub discussion, about a month ago).
zeitkapsl schedules its nightly face-clustering task to run only while the device is plugged in. Its documentation doesn't say that choice was made to limit battery drain specifically, only that the task runs nightly when the phone is charging (zeitkapsl, about a year ago).
None of the supplied sources report indexing time, battery drain, or match accuracy across a realistic, multi-thousand-photo library. Treat hardware and speed claims as developer-reported until someone runs them independently.
What to check before installing any of these
Confirm whether an app is a stable public release or an experimental fork tied to a GitHub discussion, which is the situation with Aves right now. Check whether it requires sideloading, an account, or unusual permissions before it touches a photo library.
Don't assume automatic background scanning unless a project documents it. Aves' search feature stays off by default and has to be manually enabled before any model downloads or indexing starts (GitHub discussion, about a month ago).
What offline Android photo gallery search still doesn't replace
A Google Photos Community thread notes the app isn't designed to work fully offline, and that users have to download individual photos ahead of time to view them without a connection (Google Photos Community, about two and a half years ago). That's user-support guidance from the thread, not an official statement about where Google Photos' search or AI processing runs.
The same thread suggests a local gallery app may suit people who'd rather not upload photos at all, while also warning that downloading photos locally for offline use eats into device storage that can eventually run out (Google Photos Community, about two and a half years ago). Anyone considering Android photo search without Google Photos entirely should do that storage math before migrating a large library.
The supplied documentation for all three local projects doesn't describe a migration path from an existing Google Photos library, cross-device backup, or recovery after a lost phone. Adopting local search is a separate decision from pulling photos out of cloud backup, not a package deal.
Local indexing also creates its own sensitive data: face embeddings, labels, and search indexes that live only on the device unless a project encrypts and syncs them, as zeitkapsl does. That data needs its own backup plan, not just one for the original photos.
What to do next
The technology behind local photo search is real and documented in working code and shipping products, not just marketing copy (GitHub discussion; zeitkapsl). But nothing here is ready to trust with an irreplaceable photo library yet.
Keep an existing cloud backup intact before testing any of these. Try a copied subset of photos rather than a full library, confirm whether an install is a stable release or an experimental build, and check each project's own documentation for whether "on-device" still involves cloud sync of metadata before importing anything sensitive.
Until a stable Aves release or current PicQuery compatibility gets documented somewhere verifiable, readers looking for private Android photo search should treat these three projects as things to evaluate alongside an existing backup, not instead of one. Watch each project's repository or blog for confirmation of stable, public release status before going further.
Comments
Be the first, drop a comment!