Skip to main content

Automatic work activity tracker with AI-powered daily Excel reports

Project description

Work Tracker

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

worktracker init

That's it. The wizard asks four questions, then installs and starts the tracker automatically.

──────────────────────────────────────────────────
  Welcome to Work Tracker!
──────────────────────────────────────────────────

[1/4] Where are your git repos? (comma-separated paths)
      > ~/repos, ~/work/client-projects

[2/4] Where should daily reports be saved?
      > ~/Documents/WorkReports

[3/4] What time to generate the daily report? (24h)
      > 18

[4/4] Ollama model for AI summary?
      > llama3.2:3b

✅ Config saved → ~/.worktracker/config.toml
✅ Background tracker started
✅ Daily reports scheduled at 18:00 Mon–Fri
✅ Reports will be saved to: ~/Documents/WorkReports

Commands

Command Description
worktracker init First-time setup wizard
worktracker status Show running status and last recorded activity
worktracker report Generate today's report right now
worktracker report --date 2026-05-15 Generate report for a specific date
worktracker start Start the background tracker
worktracker stop Stop the background tracker

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 ~/.worktracker/config.toml. Edit it any time:

[paths]
repos_dirs  = ["~/repos", "~/work"]   # scan multiple repo roots
reports_dir = "~/Documents/WorkReports"
db_path     = "~/.worktracker/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:

worktracker stop && worktracker 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 → ~/.worktracker/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 .
worktracker init

❤️ Support this project

Work Tracker 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.0.tar.gz (12.7 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.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: devtrackr-0.1.0.tar.gz
  • Upload date:
  • Size: 12.7 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.0.tar.gz
Algorithm Hash digest
SHA256 9f29d6c5845f6f6558c3d18cc6cafb6875f225ec416a005bd616f1c6df9ccc78
MD5 1d92ec8f23bbf65ad738ae93a45b959e
BLAKE2b-256 a035c4192428e1374e3e543f71ab8db2fae8b09f9f637e27ed8d2f71d54a47a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for devtrackr-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: devtrackr-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94c1dcb1e24e1eacea061f3dc23eb4d90d71e8cfdaccc94643a114c4d51d27a7
MD5 e04336446c033e6153a8d2a4d56ddb33
BLAKE2b-256 8dc4d045f7e28e245321cb88fa6dc6c54067dfd5774004a28db0135c00045371

See more details on using hashes here.

Provenance

The following attestation bundles were made for devtrackr-0.1.0-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