Eye tracking, without the eye tracker

We make eye tracking work on any webcam.

Eye tracking has always meant buying a dedicated sensor. We are removing it. Our gaze engine turns the cameras already sitting in laptops, kiosks, and machines into an input you can build on.

The problem we work on

Detecting eyes is solved. Keeping gaze useful for hours is not.

Almost anything can track a gaze for ten seconds. Then the person shifts, the light moves, the laptop is a different one, and hour two looks nothing like the calibration. That gap, not the demo, is what keeps eye tracking out of shipping products. We close it.

So we measure the part that is hard.

1.20° of gaze error seated, once the engine has adapted to you. The best known webcam system measures 1.64°.

Full benchmark
ConditionllocusReference
Seated, adapted1.20°1.64°
Moving, adapted1.78°
Seated, cold1.65°1.64°
Precision0.72°0.85°

Gaze error is the angle between where someone looked and where the engine said they did, so smaller is better. Precision is how tightly repeated samples of the same point cluster. Adapted means after 20 activations of ordinary use; cold means the shipping configuration before any adaptation. Reference is Tobii Nexus, working from the same class of camera. Measured across 15 hardware setups in uncontrolled rooms and changing lighting, not a lab bench. Dedicated eye tracking sensors are a separate category and can still be more accurate, but they need a sensor bolted to the product.

What you integrate is one engine.

Camera frames go in. A gaze signal comes out. Calibration, per-user adaptation, and movement handling live inside it instead of on your roadmap.

It adapts to whoever sits down.

Fitted to each user, still learning as it runs, on about one CPU core.

How that works

It fits the person in front of it

No two faces, cameras, or seating positions produce the same picture, so we do not ship one frozen model and hope. A short calibration fine-tunes the engine to the individual user, on the machine they are actually using.

It keeps learning after calibration

Real use tells the engine when it was probably wrong. We feed that back in to keep improving during normal use, instead of sending people back to a calibration grid every time something drifts.

It runs on about one CPU core

Capture, inference, and smoothing together. No GPU budget, no dedicated silicon, and enough headroom left over for the product the gaze signal is feeding.

Gaze data that never goes anywhere.

Gaze is computed on the device holding the camera. No frames leave it, and no llocus server sits in the loop.

What that means for a security review

The frames never leave the device

Gaze is computed on the machine holding the camera. Webcam video does not travel anywhere to be turned into a gaze signal, because the work happens where the camera already is.

There is no llocus server in the loop

The engine does not need us to be reachable to do its job. Nothing about a user, their face, or where they looked has to reach us for the product around it to work.

Nothing new to defend in a security review

For an embedded or industrial deployment, camera data staying on the device is usually the difference between a short conversation with a security team and a long one.

Where this goes

Anywhere a camera already points at a person.

  • Industrial and machine interfaces
  • Manufacturing environments
  • Accessibility
  • Research instrumentation
  • Human-computer interaction
  • Productivity software
  • Education
  • Device and OEM integration

Why we also ship an app

llocus desktop is a real product and the engine's test surface at the same time.

No lab produces a thousand different webcams, faces, rooms and postures. People do. llocus desktop lets anyone read and navigate with their eyes, and every hour of that use shows us where the engine is still wrong, before the same engine goes into somebody else's product.

See llocus desktop

Commercial inquiries

Gaze should be a normal input.

Microphone, camera, keyboard, touch. Each one is just a signal software can ask for. Eye tracking is the last one still locked behind special hardware, and that is the whole reason we exist.

Tell us what you want to point a camera at: the device, the conditions it runs in, and what a gaze signal would let you do. You will get a straight answer about fit from the people building the engine.