Gallry
Android Developer
On-device gallery with local LLM
An Android gallery app that manages photos like a dating app manages matches. A TensorFlow Lite model runs entirely on the phone, so every photo is searchable by what it shows without any upload.
Built for a client. The source is not public, the full story is right here.
Overview
Phone galleries are a wall of thumbnails and folders nobody maintains. Gallry borrows the mechanics of dating apps for file management. You swipe through photos, the ones you pass get archived, and the ones you keep stay front and center. Underneath it, a TensorFlow Lite model reads each image on the device and a local RAG layer lets you ask questions about your own library in plain language.
Architecture
Kotlin on Android with images indexed in a local Room database. A quantized TensorFlow Lite model generates embeddings for every photo during idle-time indexing, so indexing never blocks the UI. Embeddings and captions feed a local vector store, and retrieval-augmented generation answers queries like beach trips last March using only what is already on the phone. The LLM runs through TensorFlow Lite as well, so nothing is uploaded, no account is needed, and the whole pipeline works in airplane mode.
Outcomes
- Swipe-based triage turns a backlog into a curated gallery
- Search by content, not by folder name, with every model call on the device
- Local RAG answers natural-language questions about the library
- Runs fully offline with no accounts and no uploads