Data used
- Webcam frames, processed in the browser; up to 5,000 points per session.
Project case study
Approximate webcam gaze estimation with a session heatmap, in the browser.

Dedicated eye trackers are expensive for small studies.
A webcam estimate has to be clear about its precision limit.
An exploratory UX tool that is clear about not being a calibrated tracker.
Full case details, collapsed for optional reading.
Approximate gaze estimation from the webcam, accumulated into a heatmap for UX research sessions, all in the browser.
The MediaPipe Face Landmarker finds the irises and eye corners; their ratio, averaged across both eyes and smoothed, becomes the gaze position.
A 64×36-cell heatmap accumulates points with confidence-weighted Gaussian decay, and the session exports JSON, CSV and PNG.
There is no calibration: the mapping uses fixed constants, and the project itself warns it has no scientific precision.
Next.js and React with MediaPipe Tasks Vision and Canvas 2D, Jest tests; model and WASM from a CDN.
Technical architecture
Approximate webcam gaze estimation with a session heatmap, in the browser.
Developed by Matheus Siqueira - https://www.matheusdev.tech
Next.js BI dashboard comparing Google Ads and Meta Ads on simulated data: KPIs, funnel and ROAS.
View full case