ATTENTRIX is a local research application that turns visible audience cues in a Zoom gallery into glanceable presenter feedback. It tracks each measurable participant separately, estimates four visual states, and summarizes the room as a small set of actions: continue, clarify, or re-engage.
The current public beta is 0.2.0-beta.6. Its frozen inference checkpoint is Live v20 (classroom_v6_signalroom_live_v20) with the participant-relative presenter policy gallery_person_relative_v1 and compute profile primary_hand_1440_q82.
ATTENTRIX estimates visible behavior, not attention, understanding, intent, or emotion as psychological facts. It is a research beta for consented sessions and should not be used for grading, discipline, hiring, surveillance, or other high-stakes decisions.
- The presenter chooses a Zoom window or a saved MP4/WebM recording.
- ATTENTRIX finds visible participant tiles and faces.
- Face landmarks, pose, expression, hand, motion, and quality cues are extracted locally.
- A packaged random-forest calibrator estimates
highly_engaged,following,confused, orattention_driftfor each measurable participant. - Participant-relative references and temporal rules reduce camera-position and resting-posture bias.
- The presenter sees individual outlines, a room summary, and a synchronized post-session timeline.
Live replay is off by default. When replay is enabled, ATTENTRIX records the selected window locally and includes shared window or tab audio when the source provides it. The presenter can separately opt in to microphone capture so their explanation can be reviewed beside the engagement timeline. Microphone permission is requested only for that explicit choice. Replay audio stays local and is never analyzed by the engagement pipeline.
Download the installer or portable ZIP from the ATTENTRIX 0.2.0 Beta 6 release.
Before opening a download, compare its SHA-256 value with SHA256SUMS.txt on the release page:
0da9d21e13e0f310898e1aca6dc3d7634222cb7b7da7a1ca6a55b7696fad486c ATTENTRIX-Setup-0.2.0-beta.6-x64.exe
5481934141d307684294eb78cf0da308cb554eb0958fff9198859975820f13c8 ATTENTRIX-Windows-x64-0.2.0-beta.6.zip
The hash-bound verification evidence records the packaged workflow and Defender checks. This is an unsigned research beta, so Windows may show an unknown-publisher warning.
The Apple Silicon package remains unavailable until physical-device testing, Developer ID signing, notarization, and cross-platform replay checks are complete.
ATTENTRIX currently supports Python 3.12. On Windows PowerShell:
git clone https://github.com/CodingIsCool666/attentrix.git
cd attentrix
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip "setuptools>=83" wheel
.\.venv\Scripts\python.exe -m pip install -e ".[attentrix,dev]"
.\.venv\Scripts\python.exe scripts\setup_attentrix.py
.\.venv\Scripts\python.exe scripts\run_attentrix.py --check-assets
.\.venv\Scripts\python.exe scripts\run_attentrix.pyOpen http://127.0.0.1:8010. The guided demo works without Zoom. For a live session, open Zoom in gallery view, choose its application window, frame the participant area, and begin calibration.
Stop ATTENTRIX with Ctrl+C in the terminal. Local application data is stored under the current user's application-data directory; see the privacy guide for retention and deletion instructions.
From the ATTENTRIX home screen, choose Analyze a recording and select an MP4 or WebM file. Analysis runs in a local worker, so the browser can be minimized or refreshed while ATTENTRIX remains open. The report synchronizes video playback with participant states, confidence, room guidance, and the session timeline.
For a consented live session, enable Save this session locally for replay before starting. This option is off by default. The saved replay includes the selected window video and any shared window or tab audio supplied by the capture source. A second default-off option can add the presenter microphone after browser permission is granted. Both audio sources are retained only for local playback and are never analyzed.
ATTENTRIX has several evaluation tracks. They answer different questions and must not be combined into one universal accuracy number.
| Evaluation | What it measures | Result | Boundary |
|---|---|---|---|
| Three-person frozen Zoom holdout | Human-labeled presenter actions | Person macro-F1 0.751; room macro-F1 0.851 |
One eight-minute recording with agreed broad phases |
| Strongest two-person replay | Frozen production stack against individual labels | Macro-F1 0.824; accuracy 0.837 |
One historical holdout |
| Seven labeled historical sessions | Available local replay archive | Macro-F1 0.655; accuracy 0.737 |
Regression evidence with wide session variation |
| DAiSEE gallery-scale stress | Detection and output stability from 1 to 49 visible faces | Recall 0.995; state agreement 0.728 at 49 |
Cross-domain stress, not human-label accuracy |
| Balanced compute replay | Saved inference work without changing outputs | 11.41% mean backend reduction; exact output agreement 1.000 |
Four local sources; not a universal speed guarantee |
The broader release decision remains needs_untouched_holdout. Current evidence supports a locally validated research prototype, not universal classroom accuracy. Read the release qualification and pre-paper evidence summary for the full protocol and caveats.
The product grew from several connected studies:
| Branch | Purpose | Selected result |
|---|---|---|
| RAVDESS audio | Actor-disjoint affect and codec-robustness baseline | 3-seed macro-F1 0.668 +/- 0.021 |
| DAiSEE video | Subject-disjoint engagement and usable-feedback baselines | 4-class macro-F1 0.346; binary macro-F1 0.648 |
| CMOSE features | Temporal engagement from released multimodal features | 4-class macro-F1 0.565; accuracy 0.738 |
| Local classroom sessions | Four-state visual calibration and human review | Grouped-CV macro-F1 0.748 |
| ATTENTRIX Live v20 | Real-time participant-relative presenter feedback | Frozen product checkpoint |
These values use different targets, units, and test sets. Dataset-level results are research context; they are not interchangeable with ATTENTRIX Zoom performance.
Start with:
- ATTENTRIX architecture and product history
- Live v20 checkpoint
- Participant-relative holdout
- Compute reduction checkpoint
- Privacy and responsible use
- Public beta guide
Live v21 was intentionally retired and is excluded from the active product evidence.
src/tavc/ Reusable data, modeling, evaluation, and ATTENTRIX code
configs/ Named experiment configurations
scripts/ Thin training, evaluation, release, and audit commands
tests/ Unit, integration, release, and regression tests
docs/ Selected checkpoints, evidence, privacy, and paper notes
website/ Static promotional and download site
packaging/ Windows and macOS packaging definitions
data/ Dataset instructions and ignored local data locations
results/ Ignored generated metrics, predictions, and figures
runs/ Ignored checkpoints and training logs
Raw datasets, participant recordings, session folders, generated caches, model-training checkpoints, and credentials are not part of the public source snapshot.
Datasets must be obtained under their original terms:
- RAVDESS for acted audio-visual emotion experiments
- DAiSEE for video engagement experiments
- CMOSE released features for multimodal engagement experiments
Place local datasets under data/raw/ and generated features under data_processed/. Both locations are ignored. See data/README.md and dataset notes.
The packaged ATTENTRIX calibrator is intentionally included because the application requires it. Its model card documents provenance, intended use, evaluation boundaries, checksum, and limitations. It contains no video, images, participant names, or per-row training data.
Run the Python suite:
.\.venv\Scripts\python.exe -m unittest discover -s testsRun the website checks:
cd website
corepack enable
pnpm install --frozen-lockfile
$env:NEXT_PUBLIC_SITE_URL = "https://www.example.com"
pnpm check
pnpm audit --prodVerify the frozen ATTENTRIX release state:
.\.venv\Scripts\python.exe scripts\verify_attentrix_release.pyThe research workspace has private local history, so it should not be made public by changing its visibility. Build a clean snapshot instead:
.\.venv\Scripts\python.exe scripts\prepare_public_repository.py check
.\.venv\Scripts\python.exe scripts\prepare_public_repository.py history
.\.venv\Scripts\python.exe scripts\prepare_public_repository.py exportcheck audits the selected current files. history explains why the existing Git history must remain private. export writes a hash-manifested clean tree beside this workspace. Follow the public repository release guide before creating or updating a public GitHub repository.
Please read CONTRIBUTING.md before opening a pull request. Reports involving security or private data should follow SECURITY.md, not a public issue. All contributions must preserve the distinction between trained models, calibrators, deterministic rules, temporal smoothing, and interface behavior.
Citation metadata is in CITATION.cff. Until a paper or archival release receives a stable identifier, cite the repository version and the exact ATTENTRIX release used in an evaluation.
Repository code is prepared for release under the Apache License 2.0. Third-party models, fonts, photographs, datasets, and collaborator snapshots remain under their own terms; see NOTICE and third-party notices. Publication remains gated on both project contributors confirming the proposed licensing scope.
