Skip to main content

Automatic work activity tracker with AI-powered daily Excel reports

Project description

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.

PyPI version Python License: GPL v3 Buy Me a Coffee


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!

Buy Me A Coffee GitHub Sponsors


License

GNU GPL v3 © 2026 Adeleye Alarape

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devtrackr-0.1.3.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devtrackr-0.1.3-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file devtrackr-0.1.3.tar.gz.

File metadata

  • Download URL: devtrackr-0.1.3.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for devtrackr-0.1.3.tar.gz
Algorithm Hash digest
SHA256 63f65b3a1ac4f1f7baab52143e7beee3a75964468ac95873b6142a1b478d4e2d
MD5 e1ff99734e460071668dcbfa646b2777
BLAKE2b-256 ad1b5e6d891f87f16dd66cdd4897dd383e69548931ad6886e6cce30bdca6ec29

See more details on using hashes here.

Provenance

The following attestation bundles were made for devtrackr-0.1.3.tar.gz:

Publisher: publish.yml on adeleye-art/devtrackr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file devtrackr-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: devtrackr-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for devtrackr-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4384385c7391283bd5a7cd482c776735fb64b82a66a3121e768efd59be6ff212
MD5 3c109f25ae14402a2dfc1923f9a28d12
BLAKE2b-256 1c3d295b1a3ac9a2167cddbdead5f50a6557d6b128344b5251a135cdcaf85867

See more details on using hashes here.

Provenance

The following attestation bundles were made for devtrackr-0.1.3-py3-none-any.whl:

Publisher: publish.yml on adeleye-art/devtrackr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page