test - 16/11/2026
TimeSentinel is a powerful macOS application that helps you monitor and improve your productivity by tracking your application usage, maintaining focus streaks, and providing detailed activity insights.
- Window Tracking: Monitors active applications and window titles
- Input Monitoring: Tracks keystrokes and mouse clicks
- Browser Integration: Tracks website usage in Chrome and Safari
- Automatic Logging: Saves activity data in daily JSON files
- Focus Streaks: Maintains a streak system for uninterrupted productive work
- Distractions Blocking: Built-in blocklist for common distracting apps and websites
- Custom Blocks: Add your own applications and domains to block
- Streak Protection: Automatically breaks streak when accessing blocked content
- Daily View: Detailed breakdown of daily activities
- Weekly Analysis: Week-by-week comparison and trends
- Visual Stats: Interactive charts showing time distribution
- Website Insights: Treemap visualization of web browsing patterns
- macOS (10.15 or later)
- Python 3.8+
- pip (Python package installer)
- Clone the repository:
git clone https://github.com/yourusername/TimeSentinel.git
cd TimeSentinel- Create and activate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Start the dashboard:
streamlit run src/dashboard/app.py- Use the dashboard interface to:
- Start/Stop tracking (sidebar controls)
- View daily and weekly statistics
- Manage blocked applications and websites
- Monitor your focus streak
TimeSentinel/
├── src/
│ ├── activity_tracker/ # Core tracking functionality
│ ├── dashboard/ # Streamlit dashboard
│ └── rewards/ # Streak and rewards system
├── config/ # Configuration files
└── activity_logs/ # Daily activity data
Edit config/default_blocks.json to modify the default list of blocked applications and domains.
Use the dashboard interface to add or remove custom blocked items, which are stored in config/blocked_items.json.
Activity data is stored locally in JSON files:
- Location:
activity_logs/ - Format:
activity_log_YYYYMMDD.json - Contains: Window usage, input statistics, and streak data
python -m pytest tests/- Fork the repository
- Create a feature branch
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.