DysTest — Dyslexia Screening with Eye-Tracking & Keystroke Analysis

DysTest

Multi-Channel Webcam Screening for Dyslexia

How DysTest Combines Eye Movements, Speech, Comprehension and Typing in the Browser

Uttam Panda, Christian Boer · Whitepaper · 2026

DysTest is a browser-based dyslexia screening that needs only a standard laptop, webcam and microphone. This overview describes the assessment pipeline and the four measurement channels it combines: webcam eye-tracking during reading and search, Rapid Automatised Naming with speech recognition, reading comprehension, and spelling with keystroke dynamics. Five task scores are combined into a weighted 0–10 screening result with a confidence value. We explain why reading measures based on movement direction and timing remain usable at the 2–5 degrees of visual angle typical of webcam gaze, present illustrative models of how combining partially independent channels and gaze noise affect sensitivity (clearly marked as models, not measured results), and set out the validation roadmap that will replace these design targets with measured sensitivity and specificity. DysTest is a screening tool, not a diagnosis.

1. Summary

DysTest is a browser-based dyslexia screening that runs on an ordinary laptop with a standard webcam and microphone. Instead of relying on one signal, it combines several independent behavioural measurements, taken while the participant completes short reading and language tasks:

  • Eye movements while reading and searching (webcam eye-tracking),
  • Naming speed and accuracy spoken aloud (Rapid Automatised Naming, with speech recognition),
  • Reading comprehension of two short stories,
  • Spelling and typing behaviour while writing words (keystroke dynamics).

Each task produces its own score, and the scores are combined into one weighted 0–10 screening result with a confidence value. The design principle throughout is to measure how someone reads — the direction, timing and rhythm of behaviour — rather than depending on precise absolute gaze position, which a webcam cannot deliver.

DysTest is a screening tool, not a diagnosis. Its results indicate whether further professional assessment is advisable.

2. Assessment pipeline

A complete assessment takes about 15–20 minutes and runs in this order:

Step What happens What is measured
1. Setup Camera, keyboard and microphone check; face position and distance (max. 60 cm) Camera frame rate, face tracking quality, distance, image brightness, microphone level
2. Calibration 16 training dots, then 8 validation dots, in full screen Personal gaze model; measured accuracy on the validation dots
3. Word-Icon matching Match written words to pictures Accuracy, decision time, where the eyes search before answering
4. RAN Name rows of letters, digits, colours and objects aloud (4 × 5 rows) Naming time per row, pauses, errors from speech recognition, gaze along the rows
5. Stories Read two short passages (one for the youngest age group), then answer questions Reading time, regressions (looking back), line returns, comprehension
6. Word writing Type dictated words Spelling errors and their type, inter-key timing, corrections

Environment checks guide the participant before the test starts. The camera frame rate is measured directly (target ≥ 20 frames per second); lighting is estimated from the brightness of the camera image, which is a useful guide but not a calibrated lux measurement, because webcams automatically adjust exposure.

3. Four measurement channels

3.1 Eye movements

Face and iris landmarks are detected with MediaPipe (478 landmarks per frame). A personal calibration model (thin-plate spline regression, see the separate paper on calibration) maps iris geometry to screen coordinates; its real accuracy is estimated with leave-one-out cross-validation and the validation dots. From the gaze stream, DysTest derives fixations (dispersion-threshold method), saccades, regressions within a line and return sweeps to the next line. No WebGazer or infrared hardware is used.

3.2 Speech (RAN)

During Rapid Automatised Naming, each row is recorded separately and transcribed by server-side speech recognition. The transcript is aligned with the expected items to count omissions, substitutions and self-corrections; naming time and pauses come from the recording itself. Rows without audible speech are never sent for recognition, so silence cannot be mistaken for an answer.

3.3 Reading comprehension

Comprehension questions after each story measure whether the text was understood, independently of how fast it was read. For scoring, reading behaviour is taken from the first reading of each story; later re-reads (when a child goes back to look for an answer) are recorded but not scored as reading speed.

3.4 Spelling and typing

Word writing records every keystroke. Spelling errors are classified (for example phonologically plausible errors versus letter-order errors), and timing features such as hesitation before difficult letters and correction patterns are measured. This channel does not depend on the camera at all.

Facial expression is recorded as context for the reviewer; it is not part of the score.

4. Why combine channels

Every channel has blind spots: gaze degrades in poor light or with large head movements, speech needs a reasonably quiet room, typing is less informative for very young children. Because the channels measure different behaviours with different error sources, combining them is more robust than any single one — and a weak or missing channel lowers the confidence of the result instead of silently distorting it.

DysTest combines the five task scores (Word-Icon, RAN, Story 1, Story 2, Word Writing) into a weighted composite on a 0–10 scale, reported in four bands: typical (≤ 3), mild (3–5), strong (5–7.5) and significant (> 7.5) indicators. Tasks that could not be measured reliably are left out and their weight is redistributed; the confidence value shows how complete and reliable the measurement was.

4.1 Illustrative model: the effect of combining channels

The table below is a theoretical model, not a measured result. It shows how the chance of missing a true case shrinks when several partially independent channels each contribute, assuming the per-channel sensitivities shown and a simple "at least two channels agree" decision. Real channels are partly correlated, so measured performance will be lower; the actual figures will come from the validation study in section 7.

Scenario (model) Eye movements Typing Speech Comprehension Combined (≥ 2 of 4, model)
Conservative 85% 80% 75% 70% 96.4%
Moderate 90% 85% 80% 78% 98.5%
Design target 95% 90% 88% 85% 99.6%

5. Tolerance to webcam gaze noise

Webcam eye-tracking is typically accurate to 2–5 degrees of visual angle (DVA), far coarser than laboratory infrared trackers. DysTest's reading measures are chosen so that they stay usable at this accuracy:

  • Saccade direction is a movement vector: a forward or backward jump of a word or more remains detectable even with large per-sample noise.
  • Fixation duration is a timing measure: position noise does not change how long the eyes rest.
  • Return sweeps (end of line back to the start of the next) are large leftward jumps that are easy to separate from short within-line regressions, even when individual lines cannot be told apart vertically.

On a 14″ laptop (1920 × 1080) at 60 cm, one degree of visual angle is about 65 pixels. The following table is a design estimate of how much of each measure is preserved as noise grows; it will be measured directly in Study 3 (section 7).

Gaze noise (DVA) ≈ Pixels Absolute position usable (estimate) Movement direction usable (estimate) Fixation duration usable (estimate)
1 65 85% 100% 99%
2 130 70% 100% 99%
3 195 55% 92% 99%
5 325 25% 76% 99%
7 455 0% 60% 99%

The same model applied to the combined result (with the speech, typing and comprehension channels unaffected by gaze noise) predicts that the combined sensitivity changes little up to 5 DVA:

Gaze noise (DVA) Eye movements (model) Typing Speech Comprehension Combined (model)
1 93% 90% 88% 85% 99.5%
3 88% 90% 88% 85% 99.3%
5 80% 90% 88% 85% 99.0%
7 70% 90% 88% 85% 98.6%

These figures describe the design principle — graceful degradation as gaze quality drops — not validated accuracy.

6. Technical summary

Component Specification
Platform Browser application (React / TypeScript); desktop or laptop
Face and iris tracking MediaPipe face landmarker, 478 landmarks
Gaze model Personal thin-plate spline calibration: 16 training + 8 validation points
Fixation detection Dispersion threshold (I-DT)
Camera requirement Standard webcam; frame rate measured during setup (target ≥ 20 fps)
Lighting Estimated from camera image brightness; guidance shown when too dark
Speech Device microphone; server-side speech recognition per RAN row
Languages English, Dutch, German, French, Spanish, Italian, Portuguese, Hindi
Result Weighted 0–10 composite of five task scores, four bands, with confidence

7. Status and validation roadmap

During the beta (to October 2026) more than 200 assessments were completed, most in English and Dutch, with a predominantly adult cohort and a growing number of children. Diagnostic ground truth is available for a subset. Sensitivity and specificity have not yet been validated; the design targets are ≥ 96% sensitivity and ≥ 90% specificity.

Study 1 — Ground-truth validation (priority). At least 100 participants, balanced between people with and without a professional dyslexia diagnosis. Report sensitivity, specificity, positive and negative predictive value and AUC-ROC. This turns the targets above into measured values.

Study 2 — Channel ablation. Score the same assessments with eye movements only, then adding typing, speech and comprehension, to quantify what each channel adds.

Study 3 — Gaze-noise tolerance. Add controlled noise of 2, 3, 5 and 7 DVA to recorded gaze data and measure how the results change, replacing the estimates in section 5 with measurements.

Study 4 — Fairness. Compare results across age groups, languages, glasses versus no glasses and skin tones, to confirm that accuracy is stable across groups before wider school deployment.

8. Intellectual property

Five priority patent applications covering the DysTest assessment pipeline were filed at the German Patent and Trade Mark Office (DPMA, Munich) in September 2026, including the tighten-only corroboration method co-invented with Christian Boer.

9. Cost

A professional dyslexia assessment in Europe typically costs €800–2,800. DysTest provides a multi-channel screening for under €50 per participant, with only a standard laptop, webcam and microphone — no specialised hardware, clinic visit or trained administrator. A positive screening result should be followed by a professional assessment.

Important: DysTest is a screening tool and does not provide a formal medical diagnosis.