Back to all projects
AI/ML2025Featured

PhotoSearch

Modular AI photo workstation — semantic search, face recognition & clustering

FastAPITauriReactPythonCLIPInsightFaceLanceDB

Problem

Photo libraries grow to tens of thousands of images. Traditional folder/tag organization breaks down. People need semantic search — 'find photos of the beach at sunset' or 'photos with Sarah'.

Approach

FastAPI backend with LanceDB for vector storage. CLIP generates embeddings for semantic search. InsightFace identifies and clusters faces. Tauri desktop app with React frontend. Modular architecture separating ML pipeline from UI.

Technical Implementation

Architecture

FastAPI service layer with separate indexing and query paths. LanceDB stores embeddings; desktop client uses Tauri + React for local workflow UX.

Performance

Incremental indexing for large libraries and sub-second retrieval on common semantic query paths after warm cache.

Integration

Combined CLIP semantic retrieval with InsightFace-based person clustering to support both concept and identity-driven search.

Outcomes

  • Semantic retrieval over 10K+ photo libraries with practical interactive latency
  • Face clustering reduced manual album organization overhead
  • Desktop workflow unified indexing, query, and review in one tool

Ownership & scope

Owned full-stack implementation of indexing, retrieval, and desktop workflow orchestration for semantic and face-based search.

Constraints

  • Large local libraries with mixed quality metadata and inconsistent naming
  • Need for a desktop-first experience that can handle long indexing runs
  • Balancing semantic relevance, face matching quality, and query latency

Trade-offs

  • Prioritized local workstation workflow and retrieval quality over cloud sync features in early versions
  • Shipped combined semantic + face search path before broader media management capabilities

What changed

  • Browsing by folders and filenames shifted to concept-driven retrieval
  • People-centric queries became practical via face clustering instead of manual tagging

Workflow artifacts

  • Indexing status workflow for large photo libraries
  • Semantic query interface with ranked result grid
  • Face cluster review and merge flow

Result

Photo search workstation using multimodal retrieval, semantic search, and face recognition.