Lab Experiment

WebCam Eye Tracker

This demo uses your webcam to estimate where you're looking on the screen in real-time. It's a browser-based implementation inspired by my research at Czech Technical University under Prof. Jiri Matas.

Privacy First

Everything runs locally in your browser — your camera feed never leaves your device. Session logging is off by default, and even when on it keeps its data in the browser until you choose to download it. Nothing is uploaded.

Browser Requirements

This demo requires a modern browser with camera access (Chrome, Firefox, Safari, Edge). For best results, ensure good lighting and position yourself directly in front of the camera.

Camera Off

Camera is off

How It Works

1. Perception

MediaPipe Face Landmarker runs in your browser (WASM) and tracks 478 facial landmarks, your irises, head pose and eye blendshapes. Each frame becomes a compact feature set: iris position within the eye (corrected for head tilt), eyelid height, and head pose.

2. Calibration

13 fixation points train a regularized regression — blinks and outlier frames are discarded, and its settings are picked by cross-validation. 4 more points it has never seen then measure its real accuracy before joining the training set.

3. Live Gaze + Recalibration

A fixation filter tuned to your measured noise keeps the dot steady while your eyes dwell and snaps when they jump. With auto-recalibration on, every click becomes a labeled sample and the model refits itself.

Research: the recalibration layer is a live testbed for my automatic-calibration research. Strategies are prototyped offline against recorded sessions — the demo exports one as JSON, raw landmarks included — and the best ones get ported here. A learned gaze model (ONNX) will slot in under the same calibration layer.