DEV Community

Cover image for DropFolder: Find Your Event Photos from Massive Google Drives Instantly
Sanya Gupta
Sanya Gupta

Posted on

DropFolder: Find Your Event Photos from Massive Google Drives Instantly

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

Every time a college event, trip, or wedding wraps up, someone drops a massive Google Drive link containing thousands of unorganized photos. Finding your own photos usually means spending hours manually scrolling through dozens of subfolders.

I built DropFolder to solve this exact problem for my friends.

Instead of hunting for photos manually, you simply paste the public Google Drive folder link and upload a single selfie. DropFolder scans through all the subfolders in the Drive, runs open-source face recognition to match your face against every photo, and gives you a clean gallery of just your pictures ready to download.

Demo

The app is deployed separately across two services on Render:

Code

Check out the full open-source codebase on GitHub:

https://github.com/BStok/DropFolder

How I Built It

The app decouples heavy multi-photo scanning into a stream-and-match pipeline:

  1. Google Drive Streamer: Parses the public Drive link, traverses all nested folders, and streams photo thumbnails directly in-memory using PIL and io.BytesIO without writing huge image files to disk.
  2. Open-Source Face Embedding: Uses InsightFace (ArcFace architecture on ONNX Runtime) to detect faces and extract 512-dimensional floating-point vectors for every detected face.
  3. NumPy Cosine Similarity Engine: Rather than relying on heavy vector database dependencies for an MVP, I represented face embeddings directly as NumPy matrices. When a user uploads a selfie, its target vector is compared against the event matrix using dot-product cosine distance math in milliseconds.

Why Does Open Innovation Matter?

Using open-source AI models and self-hosting over proprietary closed APIs (like AWS Rekognition or Azure AI Vision) was critical for three key reasons:

  1. Biometric Privacy & Data Control: Facial embeddings and selfies contain sensitive biometric data. Proprietary APIs force you to send your friends' face data to corporate cloud servers. By running an open-weight model directly inside our self-hosted backend, photos and biometric embeddings remain under our control and are discarded after processing.
  2. Zero API Cost Escalation: Running closed APIs against event folders containing 2,000+ high-res photos incurs heavy per-image scanning and storage fees. Open-source models like InsightFace allow processing thousands of faces for $0 in API fees.
  3. Mathematical Freedom: Having direct access to raw 512-d feature vectors from open weights meant I didn't need black-box API lock-in; I could write a lightweight, hyper-fast NumPy matrix comparison script in just a few lines of Python.

Top comments (0)