A photographer delivered roughly 7,500 raw JPEGs across 196GB. The job was to turn that into something guests would actually enjoy — a narrative site telling the day in chapters, eight immersive per-event reels, per-event albums, a full gallery of every surviving photograph, and a "People" view where anyone can find every picture they appear in.
The interesting constraint was cost. This runs on a Cloudflare R2 free tier with no budget behind it, so deduplication, compression, face recognition, and clustering all happen offline on a laptop before anything ships. No per-image API calls, no inference at request time, no recurring bill.
The real site is private to the family, so the public demo is the version to explore: the same code with a placeholder couple, 1,004 of the photographs across eight event albums, and a People page of 20 — every face frosted, but each person's page still finds every photograph they are in. The pipeline figures below come from the full run, since that is the scale the work was built for.