The solution self-calibrates from clicks and cursor movements. It supports multiple gaze prediction models. Here is how it works:
The eye tracking model it contains self-calibrates by watching web visitors interact with the web page and trains a mapping between the features of the eye and positions on the screen… WebGazer.js runs entirely in the client browser, so no video data needs to be sent to a server. WebGazer.js runs only if the user consents in giving access to their webcam.
You can find out more about it here.