Devtrackr
Automatic work activity tracker for macOS — tracks your IDEs, meetings, and browser usage all day, then drops a polished Excel report on your desk at 6 PM with an AI-written summary of your day.
What it does
- Tracks time in VS Code, Rider, IntelliJ, Visual Studio, Jupyter, Xcode and more
- Detects meetings in Teams, Zoom, Webex, Skype, Google Meet, Slack huddles
- Knows which project you're in by reading the IDE window title
- Skips idle time — if you step away, it stops counting
- Reads your git commits and links them to the project you worked on
- Generates a daily Excel report at a time you choose (default 6 PM, Mon–Fri)
- AI narrative summary via a local Ollama model — 100% private, no cloud
Requirements
- macOS (uses AppleScript and launchd)
- Python 3.9+
- Ollama installed locally (optional, for AI summary)
Install
pip install devtrackr
Quick start
devtrackr init
That's it. The wizard asks five questions, then installs and starts the tracker automatically.
──────────────────────────────────────────────────
Welcome to Devtrackr!
──────────────────────────────────────────────────
[1/5] Where are your git repos? (comma-separated paths)
> ~/repos, ~/work/client-projects
[2/5] Where should daily reports be saved?
> ~/Documents/WorkReports
[3/5] What time to generate the daily report? (24h)
> 18
[4/5] Do you want an AI summary in your daily report?
(requires Ollama installed) [Y/n]: Y
[5/5] Which Ollama model should generate the summary? [llama3.2:3b]:
1. llama3.2:3b
✅ Config saved → ~/.devtrackr/config.toml
✅ Background tracker started
✅ Daily reports scheduled at 18:00 Mon–Fri
✅ Reports will be saved to: ~/Documents/WorkReports
Commands
| Command | Description |
|---|---|
devtrackr init |
First-time setup wizard |
devtrackr status |
Show running status and last recorded activity |
devtrackr report |
Generate today's report right now |
devtrackr report --date 2026-05-15 |
Generate report for a specific date |
devtrackr start |
Start the background tracker |
devtrackr stop |
Stop the background tracker |
devtrackr config show |
View current configuration |
devtrackr config add-repo ~/path |
Add a git repo folder to scan |
devtrackr config set-report-time 17 |
Change report time |
devtrackr config set-model mistral:7b |
Change AI model |
Excel report
Each daily report contains four sheets:
| Sheet | Contents |
|---|---|
| Summary | Total hours, meeting hours, coding hours; per-app/project breakdown |
| By Project | Hours per project sorted by time spent |
| Git Activity | Commits you made today, per repo |
| AI Summary | A 3–5 sentence narrative of your day written by Ollama |
Configuration
Config lives at ~/.devtrackr/config.toml. Edit it any time, or use the devtrackr config commands:
[paths]
repos_dirs = ["~/repos", "~/work"] # scan multiple repo roots
reports_dir = "~/Documents/WorkReports"
db_path = "~/.devtrackr/logs.db"
[tracker]
poll_interval = 10 # seconds between samples
idle_threshold = 300 # seconds idle before pausing
report_hour = 18 # 24h — report fires Mon–Fri at this hour
[ai]
ollama_enabled = true
ollama_model = "llama3.2:3b"
ollama_url = "http://localhost:11434"
After editing, restart the tracker:
devtrackr stop && devtrackr start
Apps tracked
IDEs — VS Code, Visual Studio, Rider, IntelliJ IDEA, PyCharm, WebStorm, GoLand, Xcode, Jupyter (in browser)
Meetings — Microsoft Teams, Zoom, Webex, Skype, Google Meet, Slack (huddles), Discord (voice channels)
Browsers — Chrome, Firefox, Safari, Edge, Arc, Brave, Opera, Vivaldi
Terminal — Terminal, iTerm2, Warp, Hyper, Kitty, Ghostty
Privacy
Everything stays on your Mac:
- Activity data →
~/.devtrackr/logs.db(SQLite, only you can read it) - Reports → your chosen folder
- AI summary → processed by Ollama running locally, nothing sent to the cloud
Contributing
Pull requests are welcome! Please open an issue first to discuss what you'd like to change.
git clone https://github.com/adeleye-art/devtrackr
cd devtrackr
pip install -e .
devtrackr init
❤️ Support this project
Devtrackr is free and open source. If it saves you time, consider buying me a coffee — it helps me keep working on it!
License
GNU GPL v3 © 2026 Adeleye Alarape
Metadata
Release files for devtrackr 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| devtrackr-0.1.3.tar.gz | 15.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| devtrackr-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.7 kB
Release files / devtrackr-0.1.3.tar.gz
| Download URL | devtrackr-0.1.3.tar.gz |
|---|---|
| Size | 15.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
63f65b3a1ac4f1f7baab52143e7beee3a75964468ac95873b6142a1b478d4e2d
|
|
BLAKE2b-256 checksum How to use checksums |
ad1b5e6d891f87f16dd66cdd4897dd383e69548931ad6886e6cce30bdca6ec29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 16, 2026.
Transparency logRelease files / devtrackr-0.1.3-py3-none-any.whl
| Download URL | devtrackr-0.1.3-py3-none-any.whl |
|---|---|
| Size | 15.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4384385c7391283bd5a7cd482c776735fb64b82a66a3121e768efd59be6ff212
|
|
BLAKE2b-256 checksum How to use checksums |
1c3d295b1a3ac9a2167cddbdead5f50a6557d6b128344b5251a135cdcaf85867
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 16, 2026.
Transparency log