Web · Browser-only
Phloto
Turn hundreds of photos of one person into a face-locked, looping video.
Live at phloto.app
Feed Phloto 12 to 500+ photos of one person and it returns a smooth, looping MP4. Every photo is aligned so the head sits at the same position and size, the order is optimized so the pose changes smoothly, and the video is encoded on your machine. There is no backend, and no photo ever leaves the browser.
The alignment runs on MediaPipe face mesh and pose landmarks in a Web Worker: a head frame built from 22 symmetric landmark pairs, a pose-invariant pivot about 10 cm behind the eyes, and 3D head-size estimation calibrated per collection. Every photo aligns to one shared reference, so there is no drift across a long sequence.
A local face-recognition pass clusters everyone who appears across the collection, so you can pick which person the video follows; photos without them are left out. Ordering is a sequencing problem — a transition cost between every pair plus a three-frame movement penalty, solved with multi-start greedy, 2-opt and iterated local search over a cycle when the video loops.
Measured end to end in headless Chrome against known ground truth: mean head-position error of 1.8 px on a 1080×1920 output, and mean head-size error of 1.2%.
Features
Alignment & identity
- MediaPipe face mesh (478 points) and pose landmarks, GPU with CPU fallback
- Track person: local face recognition clusters everyone in the collection and follows the one you pick
- Quality flags for tiny faces, enlargement, uncertain size, cropping and multi-face photos
Sequencing & video
- Transition cost with a three-frame movement penalty, optimized over a cycle for seamless loops
- Video montage: clips sampled and planned so cuts land where pose, expression and motion match
- Colour harmonisation per photo, plus Warm, Cool, Film, Vivid and B&W looks
Privacy by construction
- No backend: analysis, sequencing and H.264 encoding all happen in the browser
- HEIC photos converted locally with libheif WASM
- Projects in IndexedDB, images in OPFS, with .zip backup and restore
