Observed since 21 Oct, 10:38 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
An all-in-one, 100% local computer vision workstation companion: Fusing contactless rPPG pulse, AffectNet emotion, iris gaze attention, and local LLM coaching into a lightweight Windows tray app.
An all-in-one, 100% local computer vision workstation companion: Fusing contactless rPPG pulse, AffectNet emotion, iris gaze attention, and local LLM coaching into a lightweight Windows tray app.
A lightweight, research-grade, multimodal computer vision and affective computing system that runs 100% locally using a single standard RGB webcam.
It real-time tracks contactless physiological vitals (rPPG heart rate), AffectNet deep learning emotions, 3D head pose & iris eye-gaze focus, and ISO PERCLOS fatigue, complete with local SQLite logging, a Windows system tray daemon, and an Ollama-powered Local AI Health Coach.
┌─────────────────────────────┐
│ Single Local Webcam Stream │
└──────────────┬──────────────┘
│
▼
┌─────────────────────────────┐
│ MediaPipe 468 3D Mesh + Iris│
└──────┬───────┬───────┬──────┘
│ │ │
┌────────────────────────┘ │ └────────────────────────┐
▼ ▼ ▼
┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ 1. Face & Gaze │ │ 2. AffectNet Model │ │ 3. rPPG Physiology │
├──────────────────────┤ ├──────────────────────┤ ├──────────────────────┤
│• 3D Head Pose (P/Y/R)│ │• 8 Emotion Classes │ │• Forehead POS rPPG │
│• Iris Pupil Vector │ │• Temporal EMA Filter │ │• Heart Rate (BPM) │
│• Screen Focus Score │ │• Valence / Arousal │ │• ISO PERCLOS Fatigue │
└──────────┬───────────┘ └──────────┬───────────┘ └──────────┬───────────┘
│ │ │
└────────────────────────┬──────┴───────────────────────────────┘
▼
┌───────────────────────────────────────────────────────────────┐
│ Multimodal Stress Index & Real-Time Logger (1 Hz) │
├───────────────────────────────────────────────────────────────┤
│• SQLite Database (`tracker_history.db`) │
│• Non-blocking Windows Desktop Alerts │
│• System Tray Controller (`tray_app.py`) │
│• Daily Local LLM Health Coach (`ai_coach.py`) │
└───────────────────────────────────────────────────────────────┘
requirements.txt)| Package | Version | Purpose |
|---|---|---|
opencv-python | ~4.11.0 | Camera frame acquisition & HUD rendering |
mediapipe | ==0.10.14 | 468 3D Facial Mesh & Refined Iris Landmarks |
numpy | 1.26.x | High-speed array tensor & matrix calculations |
scipy | >=1.10.0 | Butterworth bandpass filter & FFT signal processing |
onnxruntime-directml | >=1.18.0 | GPU-accelerated DirectML deep learning inference |
hsemotion-onnx | >=0.3.1 | AffectNet EfficientNet facial emotion recognition |
pystray | >=0.19.5 | Windows System Tray notification area controller |
pandas | >=1.5.0 | Session log analytics and CSV/JSON data export |
Pillow | >=10.0.0 | Dynamic system tray icon image generator |
requests | >=2.28.0 | Local Ollama LLM REST API client |
pip install ai-emotion-health-tracker
After installing, three commands become available globally:
ai-tracker # Launch the visual HUD window
ai-tracker-tray # Launch the silent system tray background mode
ai-tracker-coach # Generate a daily AI health coaching report
Download the latest release from the GitHub Releases page:
AI Tracker.exe — Interactive visual HUD with live camera feedAI Tracker Tray.exe — Silent background system tray modeNo Python installation needed. Just download and double-click.
git clone https://github.com/hklhfong/ai-emotion-health-tracker.git
cd ai-emotion-health-tracker
pip install -r requirements.txt
ollama pull llama3 or ollama pull gemma2# If installed via pip:
ai-tracker
# If cloned from source:
python main.py
Q inside the camera window to save and exit.E to export the live session directly to CSV.# If installed via pip:
ai-tracker-tray
# If cloned from source:
python tray_app.py
# If installed via pip:
ai-tracker-coach
# If cloned from source:
python run_coach.py
All data is stored strictly on your local machine in tracker_history.db:
sessions: Start/end time, duration, average heart rate, dominant emotion, and total alerts.metrics: 1-Hz time-series logging (BPM, emotion, EAR, MAR, head pose, focus score, stress level).events: Timestamped camera states, high-stress popups, and drowsiness warnings.session_reports/: Formatted JSON analytical breakdowns and CSV spreadsheets generated at the end of each session.OpenCV, MediaPipe (468 FaceMesh + Iris)ONNX Runtime, DirectML, HSEmotion (AffectNet)SciPy (Butterworth Bandpass, FFT), NumPySQLite3, Pandas, Pystray, PillowOllama API (Llama-3, Gemma-2, Mistral)This repository is designed following Privacy-by-Design and Local-Only Zero-Trust principles:
MediaPipe, AffectNet ONNX), signal filters, database logging, and LLM coaching queries run entirely on localhost. No data is transmitted across the network.opencv-python, mediapipe, onnxruntime-directml, scipy)..exe or .dll) are included in the source tree to ensure verifiable safety.tracker_history.db) in your local project directory. Users can delete or inspect this file at any time.This software is an experimental wellness and productivity tracking tool. It is NOT a medical diagnostic device, clinical software, or certified medical monitor. Measurements such as rPPG heart rate, eye strain, and stress scores are approximations derived from computer vision algorithms and should not be used as a substitute for professional medical advice, diagnosis, or treatment.
To build portable .exe files that run on any Windows machine without Python:
# Install build dependency
pip install pyinstaller
# Run the build script
python build_exe.py
# Or use the one-click batch file:
build_exe.bat
This produces two files in the dist/ folder:
AI Tracker.exe — Visual HUD mode (with console)AI Tracker Tray.exe — System tray mode (no console)For maintainers:
pip install build twine
python -m build
twine upload dist/*
MIT License. Feel free to use, modify, and contribute!
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.0.0 | 17 Aug 2026 | 13 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 21 Oct, 10:38 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:d55d24082570e6d1f00ad4f0e8c96cf37196a7fa45917d17de622ef27783298f