Repository navigation
Home
Local Time Tracker is a free, open-source Windows application for understanding time spent in foreground applications and browser tabs. Activity is stored locally: no account, telemetry or cloud service is required.
| What you want to do | Guide |
|---|---|
| Install the app | Latest Windows release and first-run walkthrough |
| Understand the desktop | Dashboard, Usage analysis, Reports and data |
| Customize categories | Configuration and category preview |
| Export, back up or delete activity | Reports and data and privacy policy |
| Run the command-line tools | Tracking and report commands |
| Get help | Support guide and Discussions |
| Make your first contribution | Contributing guide and available starter tasks |
| Understand the code | Architecture, fictional data and Windows validation |
The desktop application supports 64-bit Windows 10 and Windows 11.
- Open the latest release.
- Choose the
LocalTimeTracker-Setup-<version>-x64.exeinstaller, or theLocalTimeTracker-<version>-portable-x64.zipportable build. The packaged application does not require a separate Python installation. - Download
SHA256SUMS.txtfrom the same release if you want to compare the download's SHA-256 hash. - Install and launch the app, or extract the portable ZIP to a writable folder and run
LocalTimeTracker.exe. Keepportable.modebeside the portable executable. - Tracking starts automatically on a normal first launch. Try harmless fictional window titles, then open Usage analysis or generate an offline report.
Run one tracker instance at a time. Follow the first-run guide for the status badges, stopping and restarting, and safe examples.
- Dashboard shows the current foreground application, its title, tracking status, active/idle totals and recent activity.
- Usage analysis provides Today, Last 7 days and Previous 7 days, with charts and category, application and browser-tab rankings.
- Reports and data generates offline HTML reports, exports CSV/JSON, creates a SQLite backup and offers a confirmed history reset.
- Sampling and idle settings are remembered in
preferences.json; missing or invalid values fall back to a one-second interval and a three-minute idle threshold.
The tracker measures foreground focus, not attention. Background browser tabs and the monitor under the mouse pointer are not independent tracked activities. Browser-tab names come from window titles; very short visits can fall between samples. See what the tracker measures and known limitations.
Categories use case-insensitive keywords from config.json, falling back to config.example.json when no personal configuration exists. The first matching rule wins, so put specific rules before broader ones; idle periods retain the Idle category.
The category guide includes a small example and a preview command that does not start tracking. For dated or multi-day HTML reports, use the documented report commands. Generated reports have no external scripts, fonts or network dependencies.
| Mode | Activity and reports |
|---|---|
| Installed | Under %LOCALAPPDATA%\LocalTimeTracker\
|
| Portable | In the extracted portable folder |
| Source checkout | In the repository's data and reports folders |
Window titles can contain private document names, searches and mail subjects. The database and generated reports are not encrypted by the application. Share fictional examples instead of personal databases or reports.
A database backup includes committed activity while tracking continues; it does not include HTML reports or config.json. Back up a portable installation's whole folder before replacing it. Reset deletes recorded periods after confirmation and keeps previously generated HTML reports. The official uninstaller removes the installed app's local data directory. Read the privacy policy for details.
Documentation, Python core tests, offline report accessibility and Windows testing are all welcome.
- Read CONTRIBUTING.md.
- Choose an open, unassigned good first issue or help wanted task. Check comments and linked PRs as well as the assignee.
- Comment with a short plan and wait for maintainer scope confirmation.
- Follow the fork-first setup, work on one claimed task and open one focused PR.
- Report the validation actually performed: OS/runtime, exact commands, results and any skipped checks. Code changes need focused and full tests with the same configured interpreter; documentation needs the relevant walkthrough and link/preview checks.
The desktop and live sampling need Windows. Core storage, categorization, analytics and report work also has a non-Windows CI path. Use the architecture guide and synthetic activity fixture to explore without personal data. Follow the Code of Conduct.
Use Discussions for questions and ideas. For a reproducible bug, search existing reports, then use the bug report form with the app/Windows versions and safe reproduction steps. Follow SECURITY.md for vulnerabilities rather than posting sensitive details publicly.
README · Release notes · Changelog · Roadmap · MIT license
The repository guides are the detailed references for these topics. Roadmap entries describe direction; they are not promises of available features or delivery dates.