Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Framejury, a culling assistant that works offline and explains every photo it rejects

Description and use

Framejury is an offline photo culling tool for event photographers that groups near‑identical shots, selects the best frame per group using a local Gemma 4 model, and explains each decision with evidence, keeping all data on the user’s machine.

Problem

Event photographers must sift through thousands of near‑identical frames, a process that is time‑consuming and often requires manual review.

Outcome

Framejury reduces manual culling time by automating grouping, scoring, and decision explanation, while keeping all data offline and providing transparent evidence for each choice.

Workflow

  • 1. Place event photos in a folder.
  • 2. Run Framejury’s backend (FastAPI) and frontend (Next.js).
  • 3. Framejury groups photos by time (≤12 s) and hash similarity (≤24 bits).
  • 4. Sharpness, exposure, and hash metrics filter out low‑quality frames before model inference.
  • 5. The Gemma 4 model (quantized) evaluates the shortlist and returns JSON with people count, eye status, expression, focus, and a recommended keeper.
  • 6. Decision logic combines measurements and model outputs to score each frame.
  • 7. The UI displays keep/reject decisions with reasons and evidence panels.
  • 8. Photographers can override decisions or flag ambiguous groups for manual review.
  • 9. Exports generate copies, CSVs, or XMP files; no originals are moved.
  • 10. All processing occurs locally; no data leaves the computer.

Evidence

Framejury looks through a folder of event photos, groups the frames that were shot seconds apart and look nearly the same, and marks the best one of each group to keep, while every other frame is rejected with a sentence that says why

Source

Everything runs on your own computer, which means your photos are never uploaded anywhere and the vision model that compares them runs locally through Ollama.

Source

The analysis takes between 27 and 36 seconds for seven photos, and in raw time that's about as fast as a person culling at four seconds per photo.

Source

The repository has a Python package called framejury in backend, a Next.js interface in frontend, and the MIT license together with a security policy and a contributing guide.

Source

  • Record date: 2026-10-16T15:41:34.738Z