Smile to unlock
A face-tracking photo booth for live events. A guest scans a QR code and the phone's browser opens the camera. Smiling drops a pair of shades onto their face, opening their mouth fires a burst from it, and after a countdown the page takes a photo with the event's branding for the guest to save. There's no app to install.
Best on a phone. On a computer it shows a QR code to scan. The camera feed stays on your device.
- Built
- October 2026
- Face tracking
- Google MediaPipe Face Landmarker, running in the browser
- Effects and photo
- HTML canvas, saved through the phone's share sheet
- Server
- Static files only. No video, photo or face data is uploaded.
- Download
- About 7 MB on the first visit: the 3.8 MB face model and 3 MB of WebAssembly
- Tested so far
- A Chromium browser on a Mac, with a sample photo in place of a camera
The question
Can a face-tracking photo moment run from a QR code in an ordinary phone browser, reliably enough for a queue of guests at a live event, without an app or a social media effects platform?
How it works
- The welcome screen starts downloading the face model while the guest reads it, so the camera is ready sooner after they tap.
- In each video frame, MediaPipe finds 478 points on the face and scores 52 expressions, such as how much the guest is smiling or how far their jaw is open.
- The first frames with a face set that guest's neutral baseline. An expression counts only when its score rises clearly above the baseline and stays there for 0.4 seconds.
- The effects are drawn on a canvas over the mirrored camera image and follow the face: the shades sit on the outer corners of the eyes, and the burst comes from between the lips.
- The photo is that canvas with a brand strip added at the bottom.
Choices and why
- A web page rather than an Instagram or TikTok effect. Guests install nothing, and there's no platform review to wait for before launch. Meta closed its Spark AR platform for third-party effects in January 2025.
- Processing on the phone. There's no face data to store or protect, and a bigger crowd adds no load to a server.
- Large, distinct expressions. A smile and an open mouth are big movements; winks and frowns are small, and easier to misread in dim light or behind glasses.
- A baseline for each guest, because some faces rest in a slight smile and would otherwise unlock the effect before trying.
- A "Not working? Tap to continue" button after six seconds without a trigger, so a guest who can't set it off doesn't hold up the queue.
Not tested yet
- iPhone Safari and Android Chrome on real phones, including older models
- Dim venue lighting and busy event Wi-Fi
- In-app browsers such as Instagram's, which can block the camera. The demo detects them and asks the guest to open the page in Safari or Chrome.