← Overview
Galleries · delivery & proofing

Your gallery is the product. It shouldn't look like a file host.

Private collections on your own domain, with proof comments, favourites, frame-accurate video notes, natural language search and face recognition — served straight from object storage so it stays fast and cheap at ten thousand frames.

See pricing
01 — On every plan

Find any face across thousands of frames.

Upload a reference photo and the system finds every frame they appear in. Faces are indexed in the background while you upload, and the search runs on-device.

  • On-device embeddings, matched against gallery_face_index.
  • Selfie gate for guests — no manual tagging.
  • Results filter the gallery instantly.
Search assets...
Found in 128 photos
Search by Face
match
match
match
match
match
match
1,204 faces indexed automatically · search runs in-browser
02 — On every plan

Or just type what you're looking for.

Guests type “candid laughter”, “haldi” or “rings” and the collection narrows. Vision tags build quietly as you upload, and queries hit a Postgres GIN index — zero model calls at search time.

  • Subjects, emotions and key_elements in gallery_asset_tag.
  • search_vector @@ plainto_tsquery with ts_rank + composition_score.
  • Debounced 300 ms in console and portal, with one-click clear.
rings
3 keywords indexed
rings · 18 haldi · 42 candid laughter · 64
rings · 0.92
rings · 0.81
rings · 0.81
rings · 0.81
rings · 0.81
rings · 0.81
search_vector @@ plainto_tsquery · ranked by ts_rankGIN index · 0 ms model

Natural language search — same index, different query.

03 — On every plan

Frame-accurate notes on video. In-browser.

Clients leave timecoded comments on video cuts directly from their portal. No Frame.io, no vague timestamps over email.

  • Millisecond pins on the timeline.
  • Notes attach to gallery_proof with author and timestamp.
  • Digest rollup knows films in revision vs approved.
0:21
3:45
C
00:00:21:12 — this is the frame

“Love the light on her here — can we keep the color grade as-is?”

Proof comments and favorites, per asset, per person.

04 — On every plan

Delivery that doesn't bill you for showing the work.

Bytes go straight from R2, not through a function. Images get a 5-minute presign, films get 12 hours so seeking doesn't 403 mid-watch, and downloads respect your tier.

  • 302 to a direct R2 URL (or public domain) — Dashboard hides bytes.
  • Web variants 2048px on first request; video never resized.
  • Download tiers off · web · full enforced at the ZIP and raw choke points.
  • Cloudflare Worker ZIP off-origin with HMAC tickets.
Delivery · Direct from R2bytes never via function
GalleryCliff House · 428
R2 object302 → presigned URLCache 240s · 12h video
TierPhotosVideo
Off403 ZIPstream only
Webzip web/ 2048pxstream only
Fullzip raw + webstream full
ZIP via Worker HMAC · never pushed through Next

Direct R2 delivery, variants generated on miss and cached.

05 — Collective

Every reception becomes a lead source.

Guests scan a 5×7″ standee, find themselves with a selfie, and leave their number to see every match. Those details land in your CRM with the event and match count attached.

  • Printable QR standee, on your domain, safe to rename anything.
  • Lead gate required / optional / off per gallery.
  • Leads sync to Clients with one-tap WhatsApp follow-up — Collective.
Aether Films
Sarah & Liam
Scan to find your photos
5 × 7 in · Print at 300 DPI
Take a quick selfie
We match it across the album
Your name
Phone or email
See my photos
New guest lead
Priya Sharma · +91 98765 43210
42 photo matches · reception QR
Synced to clientsWhatsApp

Guests find themselves · their details land in your CRM · you reply in one tap

A table standee, a few matches, a phone number.

06 — On every plan

See what the crowd loved — without cookies.

Anonymous, salted daily hashes capture views, dwell and downloads, rolled into Top 40 crowd favorites. No IP ever stored.

  • engagement_event → engagement_daily nightly rollup.
  • GalleryInsightsPanel: views, unique visitors, dwell, downloads.
  • Ranked by favorites×3 + downloads×2 + views for album curation.
Gallery insights · Top favoritesno cookies · salted hash
Views4,281
Unique612
Downloads184
Dwell6.2h
42 18#1
rank 174
38 12#2
rank 150
31 22#3
rank 149
28 9#4
rank 114

Ranked by favorites ×3 + downloads ×2 + views · nightly rollup to engagement_daily

Crowd favorites scored for album and social picks.

Start with one real wedding

Full product · One real project · No credit card