CLIO is a local, privacy-preserving system for inferring cognitive load during focused work sessions using behavioral interaction data.
The system models how a user interacts with their computer over time and estimates mental states such as focus, strain, and fragmentation by comparing live behavior against a continuously evolving personal baseline.
This project is designed as a real-world applied intelligence system, not a synthetic demonstration or offline ML experiment.
Most productivity and focus-tracking tools rely on self-reports, fixed heuristics, or cloud-based monitoring. These approaches are often subjective, intrusive, or opaque.
CLIO addresses this by:
- Inferring cognitive load from natural interaction behavior
- Running entirely on-device
- Avoiding content capture
- Learning personalized baselines instead of population averages
CLIO consists of two decoupled components:
- Captures behavioral signals during a session
- Computes cognitive load snapshots at fixed intervals
- Updates a rolling personal baseline
- Stores structured session data locally
- Visualizes the current session only
- Displays trends, confidence, regimes, and baseline context
- Reads data produced by the backend (read-only)
The frontend never controls sensors or processes raw input.
CLIO infers cognitive load from the following signals:
- Keyboard dynamics
- Typing rate
- Typing variance
- Error behavior
- Mouse behavior
- Activity volume
- Movement entropy
- Optional experimental signals
- Camera engagement (binary presence only)
- Microphone engagement (binary presence only)
No keystroke content, screen data, audio, or video is recorded or stored.
CLIO uses deviation-based inference rather than supervised classification.
For each snapshot:
- Behavioral features are normalized against a rolling personal baseline
- Feature deviations are aggregated into a Cognitive Load Index (CLI)
- A confidence score reflects signal consistency
- A regime classifier assigns a cognitive state:
- focused
- strained
- fragmented
Baselines evolve across sessions, allowing the model to adapt to the individual user over time.
For each session, CLIO generates:
- Cognitive Load Index (CLI) over time
- Model confidence over time
- Cognitive regime distribution
- Session-level summary statistics
- Historical baseline context aggregated across past sessions
- All computation runs locally
- No cloud services
- No raw sensor streams stored
- No personal content captured
- Camera and microphone usage is optional and minimal
- Session data can be deleted or disabled entirely
The system is fully inspectable and auditable.
- Python
- Streamlit
- NumPy
- Pandas
- Plotly
- Pynput
python main.py --duration 600 --interval 20--camera # Enable camera engagement signal (experimental)
--mic # Enable microphone engagement signal (experimental)python main.py --duration 600 --interval 20 --camera --mic streamlit run ui/dashboard/app.py