How batman1103/local_face_search_system works
FaceSearch Desktop is a local photo-face search application. A user connects a photo folder, which the backend scans and incrementally indexes by detecting faces, storing embeddings and metadata; the user then submits a query photo and receives matching originals. The graph distinguishes desktop launch/UI mediation, indexing and search, and persistence. The sampled source establishes these backend calls; other README-level product claims are not available beyond the minimal README title.
Main entry points: main.py HTTP API · main.jsx Search UI · indexer.py Incremental indexer · main.js Electron host
Components 15
Desktop interface
- Electron host
facesearch-desktop/desktop/main.js - IPC bridge
facesearch-desktop/desktop/preload.js - Search UI
facesearch-desktop/frontend/src/main.jsx
Backend workflows
- HTTP API
facesearch-desktop/backend/app/main.py - Runtime config
facesearch-desktop/backend/app/config.py - Face detection
facesearch-desktop/backend/app/services/face_engine.py
Library indexing
- Incremental indexer
facesearch-desktop/backend/app/services/indexer.py - Folder watcher
facesearch-desktop/backend/app/services/watcher.py
Local persistence
- FAISS vectors
facesearch-desktop/backend/app/services/vector_store.py - Image metadata
facesearch-desktop/backend/app/db/database.py
Other components
- User
- Photo folder
- Query photo
- Original images
- Desktop services
Connections 25
- User → Search UI: uses
- Electron host → HTTP API: starts backend
- Electron host → Search UI: loads UI
- Search UI → IPC bridge: requests folder
- IPC bridge → Electron host: invokes IPC
- Electron host → Search UI: returns folder
- Search UI → HTTP API: calls API
- HTTP API → Runtime config: loads settings
- HTTP API → Image metadata: reads/writes
- HTTP API → FAISS vectors: loads/searches
- HTTP API → Face detection: detects query faces
- HTTP API → Incremental indexer: starts scans
- HTTP API → Folder watcher: starts/stops watch
- Incremental indexer → Photo folder: scans/reads
- Incremental indexer → Face detection: detects faces
- Incremental indexer → FAISS vectors: adds embeddings
- Incremental indexer → Image metadata: records image/faces
- Folder watcher → Incremental indexer: enqueues changes
- Folder watcher → Image metadata: marks missing
- HTTP API → FAISS vectors: searches query vectors
- HTTP API → Image metadata: resolves matches
- HTTP API → Original images: serves original
- Search UI → HTTP API: requests match images
- HTTP API → Desktop services: opens image/folder
- Search UI → HTTP API: requests open action