
Facet - local, open-source photo scoring/culling engine with a web gallery (no cloud, MIT license)
Hello
I've been building Facet (1.6.0) a self-hosted tool that scores every photo in your library across 9 dimensions (aesthetics, composition, face quality, sharpness, exposure, etc.), then serves a web gallery to browse, cull, and organize the results. Everything runs locally — no cloud, no account, no API keys.
What it does
- Scan: point it at a folder (JPG, HEIF/HEIC, or 10 RAW formats), it scores every image and stores results in SQLite.
- Cull: burst detection, blink detection, similarity/duplicate grouping, and "scenes" (chronological groupings you cull in story order). Auto-cull can do a whole pass in one click with a dry-run preview.
- Browse: mosaic/grid gallery, semantic search ("sunset on the beach"), timeline, map view, themed slideshow "capsules," folder browsing, "on this day" memories.
- Organize: face recognition/clustering (with merge suggestions), albums (manual + smart), star ratings/favorites, AI content tags, batch ops with undo.
- Understand: per-metric score breakdown, optional VLM natural-language critique, a weight tuner that learns from your A/B comparisons, a personal "taste" ranker.
- Share: shareable album links (no login for recipients), CSV/JSON export, optional client-proofing mode for photo delivery.
Runs on CPU for scoring, culling, gallery, search, albums, and metadata export.
A GPU (16GB/24GB VRAM profiles) unlocks the strongest models — TOPIQ aesthetic scoring, SigLIP2 embeddings, VLM tagging/captions/critique.
Stack: Python/FastAPI backend, Angular 21 frontend, SQLite.
One Docker image covers every VRAM profile (FACET_VRAM_PROFILE=auto picks CPU-only if no GPU is found).
u/niko-okin — 4 days ago