ideas.
July 27, 2026 3 min read desktopcreatoraiprivacy

Local semantic search for your photo library

A desktop app that embeds your photo library with an on-device CLIP model so you can search 'beach sunset with dog' without uploading anything to the cloud.

The idea

A desktop app that points at a folder (or your whole Pictures/Lightroom catalog), runs every image through a small local CLIP-style model to generate embeddings, and lets you search your own photo library with natural language — "red bike leaning against a brick wall," "the whiteboard photo from the planning meeting," "golden hour shots of the dog" — entirely offline. No image ever leaves the machine.

Why build this

Google Photos and iCloud already do this kind of search, but only if you hand over your entire library to their cloud. Photographers, videographers, and anyone with a large personal archive of sensitive or simply private images (family photos, client work under NDA, medical documentation) don't have a local-only equivalent with the same search quality. Small CLIP variants (SigLIP, MobileCLIP) now run comfortably on a laptop CPU or an entry-level GPU, encoding a few thousand images in minutes and answering a text query in milliseconds against a vector index — the accuracy gap between "cloud AI search" and "local AI search" has effectively closed in the last year, but almost no consumer tool has caught up.

Stack sketch

  • App shell: Electron or Tauri for a cross-platform desktop app with native filesystem access (Tauri preferred for smaller binary size and lower idle memory)
  • Embedding model: MobileCLIP or SigLIP-base running via ONNX Runtime (CPU or DirectML/CoreML/CUDA execution provider depending on platform) — no API calls, no internet required after first model download
  • Vector index: sqlite-vec or usearch embedded directly in the app for approximate nearest-neighbor search over a local SQLite file
  • Indexing pipeline: a background worker that walks the watched folder(s), skips already-indexed files by content hash, and re-embeds on file change
  • UI: a single search bar plus a masonry grid of results, with click-to-reveal-in-Finder/Explorer
  • Packaging: signed installers for macOS and Windows; Linux via AppImage

Scope for v1

  • In: point at one or more folders, background indexing with a progress bar, natural-language text search, click-through to the file location
  • In: basic filters — date range and folder scope
  • In: incremental re-indexing when new photos are added to a watched folder
  • Out: face recognition or people-clustering — deliberately avoided in v1 given the privacy sensitivity of biometric features, even running locally
  • Out: mobile app or sync between devices — this is single-machine and local-first by design
  • Out: video support — images only for v1

Where it could go

The first real expansion is image-to-image search ("find more photos like this one") using the same embeddings already computed, which is nearly free once text search works. After that, a lightweight tagging layer where the model suggests candidate captions or albums based on embedding clusters would help people organize libraries that have never been sorted, without requiring manual tagging from scratch.

Longer term, video frame indexing (sampling frames and embedding them the same way) would extend the same local-first pitch to home movies and B-roll footage, which is an even worse search experience today than photos are. A paid "Pro" tier could add optional encrypted sync of the index (not the photos) across a user's own devices for people who want search continuity without a cloud photo upload.

Watch out for

Local embedding models are noticeably weaker than the largest cloud multimodal models at compositional queries ("the dog on the left, not the one on the right"), so set expectations as "fuzzy semantic search," not a perfect natural-language photo assistant — overpromising here is the fastest way to lose trust in the privacy pitch.