Hi everyone,
I’ve been building a desktop app called PhotoStat that scratches an itch I suspect a lot of us have: thousands of photos processed across multiple tools (Darktable, RawTherapee, GIMP, Lightroom at various points…) with no single way to search across all of them.

PhotoStat indexes your photos into a local [OpenSearch] https://opensearch.org/) database and gives you fast, faceted search across all your EXIF metadata — camera, lens, ISO, aperture, focal length, date, GPS, and more. By default it doesn’t touch your files or move them around, and custom metadata (tags, ratings, people, places) is stored in portable .photostat.json sidecar files alongside your images — no proprietary database lock-in.
Beyond search, it has an interactive GPS map for geotagged photos (using OpenStreetMap), duplicate detection (both exact and perceptual), a slideshow mode with keyboard-driven star ratings for fast culling, and charts for visualizing your collection over time and by gear. RAW files are supported via ExifTool.
Face detection is also included — it runs locally via Python + InsightFace, automatically clusters similar faces, and lets you assign names that sync back to OpenSearch and your sidecar files.
There are also optional AI features (Claude or Gemini, requires your own API key) for auto-tagging and quality rating. Both face recognition and AI tagging are strictly opt-in.
It runs on Windows, macOS (Apple Silicon), and Linux, with native installers for Windows and Mac or a cross-platform JAR for everything else. The one notable prerequisite is a local OpenSearch instance — the easiest path is a single Docker command found in the README.
For large collections, there’s a CLI for long-running tasks like face detection and AI batch tagging.
GitHub: GitHub - ppound/photostat: Manage photos by indexing and searching image exif metadata in opensearch, find and manage duplicates, move, copy or delete images, includes a Map View, Face Detection etc.. — MIT licensed, feedback very welcome.
