Photonza
One selfie finds every photo you appear in.


- Project
- Our own product
- Our role
- Product · Full stack · Face recognition pipeline
- Duration
- 4 months
01 / PRODUCT & APPROACH
Join the event. Find your own moments.
Photonza, previously Wedmomento, is our own product for bringing event photos together for guests and organizers. QR access, a shared photo feed and selfie-based photo discovery come together in a web experience without an app installation.
Wedding photos stay scattered across guests’ phones. Nobody installs a solution that demands an app, and even then each person has to find their own shots by hand among hundreds. On the photographer’s side the problem is scale: uploading 500–5,000 photos cannot depend on a browser tab staying open for hours.
The event experience
- 01
Join by QR
Open the event link on a phone without installing an app.
- 02
Bring memories together
Guest photos come together in a shared event feed.
- 03
Find your own photos
Use a selfie to discover photos you appear in.
DECISIONS THAT SHAPED THE PRODUCT
Design access around the context.
Event guests need to begin using the product quickly. A QR-accessible mobile web flow removes the installation step, bringing uploads, the feed and discovery into the same browser session.
Discovery matters alongside collection.
Finding personal photos in a large collection is a distinct need. Selfie-based discovery addresses it, while event management and the shared photo feed handle the surrounding product responsibilities.
THE RESULTING PRODUCT
An experience focused on the event.
photonza.com is live and used for weddings, corporate events, marathons and graduations. Admin, venue owner, photographer, guest and couple roles have separate interfaces; 18 Edge Functions; the event lifecycle runs on cron. A pre-wedding reliability pass closed with 43 tests covering privacy, shared Wi-Fi, quotas, the face queue and 30-day post-event access.
02 / Inside the product
The experience, on screen.
Open a screen to explore the details.04 images
03 / Scope & details
The details make the experience.
- 01
Join by QR, no app install
- 02
Face recognition running in the browser
- 03
Find your own photos with a selfie
- 04
A separate embedding worker keeps the feed fast
Technology
Next.js / Supabase / PWA
INSIDE THE PRODUCT
The engineering behind the interface.
Systems we built and concrete problems we addressed in this project.
Same model, two places
The guest selfie becomes a 1024-dimensional vector in the browser with @vladmandic/human; photographer uploads are embedded server-side in a Cloudflare container with the same model on tfjs-node. Both live in one vector space, so matching is unchanged.
A durable queue
A trigger enqueues into embedding_jobs on insert; a Worker container waking every two minutes claims with claim_embedding_jobs() under FOR UPDATE SKIP LOCKED, fetches the image from R2 and closes with complete_embedding_job(). Stale jobs are reclaimed after five minutes, marked failed after five attempts; the container scales to zero when idle.
The pre-wedding reliability pass
Public table reads were removed; participation uses a single-user, time-limited token after the PIN; 30 consecutive valid joins from one connection pass while wrong-PIN attempts count separately. Quota is atomic on file count rather than posts; original JPEG and MP4 SHA-256 digests match the sources exactly. 43 tests, a production build and role-based UI checks passed on 7 September 2026.
Your idea could be next.
What could we build for you?
From a first release to a growing platform. Let’s plan the design, development and launch together.
From Türkiye to the US, UK, Australia and everywhere in between.
ENGINEERING NOTES FROM THIS PROJECT
PWA or mobile app? A decision through Photonza ↗