DeskBuddy is an AI-powered personal productivity companion designed to help individuals maintain focus, monitor work patterns, and improve digital well-being while working at their computers.
- Multimodal Data Collection: Keystroke dynamics, facial engagement cues, and application usage patterns
- Real-time Dashboard: Streamlit-based interface for productivity visualization
- Cognitive Load Monitoring: Track typing activity, application usage, and attention patterns
- Privacy-First Design: All data stored locally with secure handling
deskbuddy/
├── src/
│ ├── data_collection/
│ │ ├── keystroke_logger.py # Keystroke tracking
│ │ ├── window_tracker.py # Application usage monitoring
│ │ ├── webcam_monitor.py # Facial analysis and attention tracking
│ │ └── data_collector.py # Unified data collection orchestrator
│ ├── data_processing/
│ │ ├── data_processor.py # Data preprocessing and analysis
│ │ └── database_manager.py # SQLite database management
│ ├── models/
│ │ └── productivity_analyzer.py # ML models for productivity insights
│ └── dashboard/
│ ├── app.py # Main Streamlit application
│ ├── components/
│ │ ├── activity_charts.py # Activity visualization components
│ │ ├── attention_charts.py # Attention tracking visualizations
│ │ └── productivity_metrics.py # Productivity metrics display
│ └── utils/
│ └── chart_helpers.py # Utility functions for charts
├── data/
│ └── deskbuddy.db # SQLite database (created automatically)
├── logs/
│ └── app.log # Application logs
├── config/
│ └── settings.py # Configuration settings
├── requirements.txt
├── setup.py
└── README.md
-
Check Dependencies:
python run_deskbuddy.py --check
-
Install Dependencies (if needed):
pip install -r requirements.txt
-
Set up Environment:
python run_deskbuddy.py --setup
-
Start DeskBuddy (Dashboard + Data Collection):
python run_deskbuddy.py --start
-
Open Dashboard: Navigate to
http://localhost:8501in your browser
-
Start Only Dashboard:
python run_deskbuddy.py --dashboard
-
Start Only Data Collection:
python run_deskbuddy.py --collect
-
Check Status:
python run_deskbuddy.py --status
-
View All Commands:
python run_deskbuddy.py
- Keystroke logging for typing activity tracking
- Window/application usage tracking
- Webcam-based facial analysis for attention monitoring
- Blink rate and eye movement tracking
- Secure multimodal data storage
- Daily typing activity visualization
- Application usage time tracking
- Webcam attention summary
- Interactive data visualizations
- Continuous logging system
- Unified SQLite storage
- Modular architecture for future expansion
- All data is stored locally on your machine
- No external data transmission
- User consent required for webcam access
- Configurable data retention policies
- Sentiment detection
- Posture monitoring
- Advanced productivity analytics
- Personalized recommendations
- Break reminders and wellness features
MIT License - See LICENSE file for details