Part of the GSoC 2026 proposal: Notion link
Summary
PictoPy can already cluster face identities using DBSCAN, but the current search interface only supports querying for a single person at a time. This issue tracks the implementation of multi-person face search, allowing users to select multiple identities and retrieve photos ranked by how many of the selected people appear together.
Motivation
The single-person search workflow breaks down when a user wants to find photos of a specific group — for example, finding family photos where both parents and a child are present. There is no way to express that query today without manually intersecting results from separate searches.
What's being implemented
UI
A Search by Multiple People button is added to the top-right of the Face Collections card on the AI Tagging page. Clicking it opens a modal where:
- All known face cluster identities are displayed as selectable avatar cards
- The user selects one or more people
- A match mode toggle controls whether results must contain any selected person or all of them
- Selected identities appear as dismissible chips above the grid
- Clicking Search queries the backend and updates the gallery with ranked results
Photos are ordered by match_count descending — images where more of the selected people appear together surface first.
Screenshot
The final implementation would look something like this:

Part of the GSoC 2026 proposal: Notion link
Summary
PictoPy can already cluster face identities using DBSCAN, but the current search interface only supports querying for a single person at a time. This issue tracks the implementation of multi-person face search, allowing users to select multiple identities and retrieve photos ranked by how many of the selected people appear together.
Motivation
The single-person search workflow breaks down when a user wants to find photos of a specific group — for example, finding family photos where both parents and a child are present. There is no way to express that query today without manually intersecting results from separate searches.
What's being implemented
UI
A Search by Multiple People button is added to the top-right of the Face Collections card on the AI Tagging page. Clicking it opens a modal where:
Photos are ordered by
match_countdescending — images where more of the selected people appear together surface first.Screenshot
The final implementation would look something like this:
