GuestGallery
Python app using face recognition to allocate 2000+ wedding photos to guests. Finds each person across photos and surfaces “here are your pictures.” Processes large image sets efficiently.

Overview
GuestGallery is a Python face-recognition tool built to solve a very concrete problem: allocating 2000+ wedding photos across guests automatically, so each person gets exactly their own photos without anyone manually sorting a shared album.
Under the Hood
At 2000+ images, brute-force face comparison doesn't scale — the pipeline needed to batch-process efficiently, handle varied lighting and angles from a real wedding shoot, and still produce accurate per-guest matches rather than false positives that annoy people expecting their own photos.
What I Built
- Face recognition pipeline detecting and matching faces across the full 2000+ image set
- Guest enrollment flow — register each guest with one or more reference photos
- Bulk automated allocation — every photo assigned to the guests who appear in it
- Personal galleries — each guest receives their own curated photo subset
- Efficient batch processing tuned to handle large image sets without prohibitive runtime
- Structured output — per-guest folders or shareable links
Tech Stack
- Language: Python
- Face recognition: face_recognition, dlib
- Image processing: OpenCV, PIL
- Storage: Local or cloud output storage
Key Decisions
- Batch-processed the image set rather than comparing faces one-at-a-time in real time, since 2000+ images made a naive brute-force approach impractical at runtime
- Required guest enrollment with reference photos before allocation rather than attempting unsupervised clustering, trading a small upfront step for materially more accurate per-guest matches
- Tuned the matching threshold to favor precision over recall, since a guest missing a photo they appeared in was a far smaller problem than guests receiving photos of strangers
Outcome / Impact
Eliminated fully manual sorting of thousands of wedding photos — guests received their personal galleries in minutes instead of the hours it would have taken by hand.