Skip to content

AnukritiSingh-22/clio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLIO — Cognitive Load Inference System

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.


Problem Statement

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

System Overview

CLIO consists of two decoupled components:

1. Backend Cognitive Load Engine

  • Captures behavioral signals during a session
  • Computes cognitive load snapshots at fixed intervals
  • Updates a rolling personal baseline
  • Stores structured session data locally

2. Frontend Analytics Dashboard

  • 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.


Behavioral Signals Used

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.


Cognitive Load Modeling

CLIO uses deviation-based inference rather than supervised classification.

For each snapshot:

  1. Behavioral features are normalized against a rolling personal baseline
  2. Feature deviations are aggregated into a Cognitive Load Index (CLI)
  3. A confidence score reflects signal consistency
  4. 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.


Outputs

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

Privacy and Design Principles

  • 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.


Technology Stack

  • Python
  • Streamlit
  • NumPy
  • Pandas
  • Plotly
  • Pynput

Running the System

Backend: Run a Cognitive Load Session

python main.py --duration 600 --interval 20

Optional Flags

--camera   # Enable camera engagement signal (experimental)
--mic      # Enable microphone engagement signal (experimental)

Example: Backend Session with Optional Signals Enabled

python main.py --duration 600 --interval 20 --camera --mic 

Frontend: Launch the Dashboard (Read-Only)

streamlit run ui/dashboard/app.py   

About

Real-time cognitive load inference using behavioral interaction data

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages