Demos

Prototypes we build to test a technique before a project depends on it. Each one runs in your browser, with our notes on how it works, the choices we made and what we haven't tested yet.

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

  1. The welcome screen starts downloading the face model while the guest reads it, so the camera is ready sooner after they tap.
  2. 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.
  3. 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.
  4. 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.
  5. 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.