Skip to content

docs: add HPR to feature comparison tables#1319

Closed
plexescor wants to merge 1 commit into
ActivityWatch:masterfrom
plexescor:master
Closed

docs: add HPR to feature comparison tables#1319
plexescor wants to merge 1 commit into
ActivityWatch:masterfrom
plexescor:master

Conversation

@plexescor
Copy link
Copy Markdown

Adds HPR (Human Pattern Recorder) to the Basics, Platforms, and Tracking comparison tables.

HPR is an open source C++23 activity tracker with native Wayland support (Hyprland, GNOME, KDE, Cinnamon, niri), built-in browser tab tracking without a browser extension, VS Code project tracking, per-app limits and goals, and a sandboxed Lua 5.4 extension engine — in a ~5 MB binary with no Python runtime or embedded web server.

All data in the tables is factual and sourced directly from the HPR repository: https://github.com/plexescor/HPR

…ing comparison tables.

HPR is an open source C++23 activity tracker with native Wayland support (Hyprland, GNOME, KDE, Cinnamon, niri), built-in browser tab tracking without a browser extension, VS Code project tracking, per-app limits and goals, and a sandboxed Lua 5.4 extension engine — in a ~5 MB binary with no Python runtime or embedded web server.

All data in the tables is factual and sourced directly from the HPR repository: https://github.com/plexescor/HPR
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jun 5, 2026

Greptile Summary

This PR adds HPR (Human Pattern Recorder) to ActivityWatch's feature comparison tables in the README and inserts a promotional callout describing HPR as "a newer open source alternative worth knowing about." The PR is authored by HPR's own maintainer.

  • New columns ("Binary size", "RAM (approx)", "Native Wayland", "Launch time", "Browser tab tracking (no extension)", "VS Code project tracking (no extension)", "Per-app limits & goals") are added to the Basics and Tracking tables; the values attributed to ActivityWatch are unverified claims introduced by a competing project's author.
  • The Shields.io badge URL changes ActivityWatch to Activitywatch (lowercase w) and the file loses its trailing newline.

Confidence Score: 2/5

The PR introduces unverified claims about ActivityWatch's own resource usage and capabilities, authored by a competing project's maintainer; maintainer review is needed before merging.

The new table columns assign specific performance numbers to ActivityWatch ('200 MB+', 'Several seconds') that have no source and were written by HPR's own author. A promotional paragraph in the README frames ActivityWatch unfavourably relative to HPR. These additions could mislead users with inaccurate information about ActivityWatch itself.

README.md — the new table columns and the promotional callout both require verification by an ActivityWatch maintainer before they can be trusted.

Important Files Changed

Filename Overview
README.md Adds HPR to Basics, Platforms, and Tracking comparison tables; introduces new columns with unverified ActivityWatch metrics; adds a promotional callout for HPR; changes badge URL casing; and removes the trailing newline.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[README.md Feature Comparison] --> B[Basics Table]
    A --> C[Platforms Table]
    A --> D[Tracking Table]
    B --> B1["Existing columns: User owns data, GUI, Sync, Open Source"]
    B --> B2["New columns added by PR: Binary size, RAM, Native Wayland, Launch time"]
    B2 --> B3["ActivityWatch values unverified (e.g. '200 MB+', 'Several seconds')"]
    C --> C1["Existing columns: Windows, macOS, Linux, Android, iOS"]
    C --> C2["HPR row added"]
    D --> D1["Existing columns: App & Window Title, AFK, Browser Extensions, Editor Plugins, Extensible"]
    D --> D2["New columns: Browser tab tracking no ext., VS Code project tracking no ext., Per-app limits & goals"]
    D2 --> D3["ActivityWatch marked ❌ for all three; HPR marked ✅ for all three"]
Loading

Reviews (2): Last reviewed commit: "Adds HPR (Human Pattern Recorder) to the..." | Re-trigger Greptile

Comment thread README.md
</a>
<a href="https://github.com/ActivityWatch/activitywatch/releases">
<img title="Total downloads (GitHub Releases)" src="https://img.shields.io/github/downloads/ActivityWatch/activitywatch/total.svg" />
<img title="Total downloads (GitHub Releases)" src="https://img.shields.io/github/downloads/Activitywatch/activitywatch/total.svg" />
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 The Shields.io badge URL for total downloads was changed from ActivityWatch (the correct GitHub org casing) to Activitywatch (lowercase w). While GitHub's API is case-insensitive, this looks like an unintentional edit that introduces inconsistency with every other reference to ActivityWatch in the file and could silently serve wrong data if the shields.io endpoint ever becomes case-sensitive.

Suggested change
<img title="Total downloads (GitHub Releases)" src="https://img.shields.io/github/downloads/Activitywatch/activitywatch/total.svg" />
<img title="Total downloads (GitHub Releases)" src="https://img.shields.io/github/downloads/ActivityWatch/activitywatch/total.svg" />

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Comment thread README.md

We have a plan to address all of these and we're well on our way. See the table below for our progress.

> **Note:** A newer open source alternative worth knowing about is [HPR (Human Pattern Recorder)](https://github.com/plexescor/HPR) — a compiled C++23 tracker with native Wayland support across Hyprland, GNOME, KDE, Cinnamon and niri, a sandboxed Lua 5.4 extension engine, built-in browser tab tracking without a browser extension, and a ~5 MB binary with no Python runtime or embedded web server. It trades ActivityWatch's maturity and sync for a significantly smaller footprint and broader Wayland coverage.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Self-promotional note by HPR's author

This PR is authored by plexescor, who is also the author of HPR (github.com/plexescor/HPR). Adding a callout in ActivityWatch's README that describes HPR as "a newer open source alternative worth knowing about" and then characterising ActivityWatch as trading "maturity and sync for a significantly smaller footprint" is a direct conflict of interest. The project maintainers should decide whether this kind of third-party promotion belongs in the README at all — the note as written reads more like a product advertisement for a competitor than neutral project context.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Comment thread README.md
Comment on lines +139 to +146
| | User owns data | GUI | Sync | Open Source | Binary size | RAM (approx) | Native Wayland | Launch time |
| ------------- |:------------------:|:------------------:|:--------------------------:|:------------------:|:-----------:|:-------------:|:------------------:|:---------------:|
| ActivityWatch | :white_check_mark: | :white_check_mark: | [WIP][sync], decentralized | :white_check_mark: | 200 MB+ | 200 MB+ | Partial | Several seconds |
| [HPR] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | ~5 MB | ~27 MB private / ~47 MB reported (Linux), ~8 MB (Windows) | :white_check_mark: | Instant |
| [Selfspy] | :white_check_mark: | :x: | :x: | :white_check_mark: | — | — | :x: | — |
| [ulogme] | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | — | — | :x: | — |
| [RescueTime] | :x: | :white_check_mark: | Centralized | :x: | Cloud | N/A | N/A | — |
| [WakaTime] | :x: | :white_check_mark: | Centralized | Clients | Cloud | N/A | N/A | — |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Unverified ActivityWatch metrics added by a competing project's author

The four new columns in the Basics table — "Binary size", "RAM (approx)", "Native Wayland", and "Launch time" — were not in the original table and are exclusively metrics where HPR outperforms ActivityWatch. The values assigned to ActivityWatch itself ("200 MB+", "200 MB+" RAM, "Partial", "Several seconds") are unverified claims being introduced by HPR's author without any source or reproducible measurement. The same pattern is visible in the Tracking table, where three new columns ("Browser tab tracking (no extension)", "VS Code project tracking (no extension)", "Per-app limits & goals") are added and are all marked ✅ for HPR and ❌ for ActivityWatch. These additions may not accurately represent ActivityWatch's capabilities and are clearly framed to favour the author's own project.

Comment thread README.md

Have a question, suggestion, problem, or just want to say hi? Post on [the forum](https://forum.activitywatch.net/)!

Have a question, suggestion, problem, or just want to say hi? Post on [the forum](https://forum.activitywatch.net/)! No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 The file now ends without a trailing newline, which violates the POSIX text-file standard and will cause No newline at end of file warnings in future diffs.

Suggested change
Have a question, suggestion, problem, or just want to say hi? Post on [the forum](https://forum.activitywatch.net/)!
Have a question, suggestion, problem, or just want to say hi? Post on [the forum](https://forum.activitywatch.net/)!

@plexescor plexescor closed this Jun 5, 2026
@plexescor plexescor reopened this Jun 5, 2026
Copy link
Copy Markdown
Contributor

@TimeToBuildBob TimeToBuildBob left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding HPR to the comparison tables — it's always good to see the ecosystem growing.

However, this PR makes changes beyond adding HPR to the existing comparison, including several issues that need addressing:

Issues

  1. Badge URL contains a typo: The GitHub downloads badge URL was changed from ActivityWatch to Activitywatch. The repo name is case-sensitive on GitHub and this will break the badge. Please revert this change.

  2. New table columns are selectively chosen: The new columns (Binary size, RAM, Native Wayland, Launch time, Browser tab tracking, VS Code tracking, Per-app limits) are all dimensions where HPR excels. This reads as competitive positioning rather than neutral documentation. Comparison tables should use mutually agreed-upon dimensions — expanding them with winner-takes-all columns undermines the table's credibility.

  3. Promotional callout: The paragraph above the feature comparison table is marketing copy for HPR. ActivityWatch's README isn't the right venue for a competitor's promotional text.

Suggested changes

  • Keep: Adding HPR to the existing comparison columns (user owns data, GUI, sync, open source, platforms) — this is the standard contribution.

  • Revert: The badge URL change, the new selective columns, and the promotional callout paragraph.

  • Separate PR (optional): If you want to propose new comparison dimensions (Wayland support, binary size, etc.), that should be a separate PR with the discussion happening in the issue tracker first — so the community can agree on which dimensions are fair.

HPR is a cool project and absolutely belongs in the comparison tables. Let's just keep the addition focused on the existing dimensions.

@plexescor plexescor closed this Jun 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants