Productivity services
Productivity services
Personal-productivity services that capture signal from the
user's day-to-day workflow. Locked decision:
decisions/architecture/time-tracking-wakatime-only.
The family adopts automatic capture only — what the editor sees (Wakatime). Manual capture (Toggl Track) was considered and rejected on 2026-06-20 under the new family-wide auto-only-tracking rule: manual timers decay (humans forget, fudge, skip), and dishonest data is worse than no data. Non-coding time is intentionally not tracked rather than manually tracked. Untracked time is honest signal that the user was away from the keyboard.
Active picks
| Service | Status | Role | Free tier |
|---|---|---|---|
| wakatime.md | active | Auto coding-time tracking via IDE plugin (sole pick) | Auto-tracking + rolling 2-week history + public dashboard |
Rejected
| Service | Status | Why rejected |
|---|---|---|
| toggl-track.md | rejected | Manual time tracking violates the auto-only-tracking rule (2026-06-20). Wakatime auto-tracks coding time; non-coding time is not tracked rather than manually tracked. |
Surface coverage
| Activity type | Captured? | How |
|---|---|---|
| Coding (any IDE-seen edit) | YES | Wakatime auto via IDE plugin heartbeat |
| Meeting / call | NO (intentional) | Untracked — not a system metric |
| Planning / design / writing | NO (intentional) | Untracked — not a system metric |
| Reading / learning | NO (intentional) | Untracked — not a system metric |
If a non-coding-time signal is ever needed, the answer is
make it auto (e.g. calendar-API ingest), not "add a
manual tracker". See
decisions/architecture/auto-tracking-everywhere.
Lifestream ingest path
Wakatime exposes a REST API that the daily lifestream cron
job pulls and appends to
oriz-me-data/lifestream/YYYY-MM-DD.jsonl per
lifestream-jsonl-canonical:
| Source | API | JSONL type |
|---|---|---|
| Wakatime | wakatime.com/api/v1/users/current/summaries |
code-summary-wakatime |
The JSONL archive is the durable record — sidesteps Wakatime's
2-week free-tier history cap. Every other lifestream event
source is similarly auto (GitHub commits, npm publishes, CI
events, CF Web Analytics) — see
auto-tracking-everywhere.
Why auto-only
- Manual tracking decays. Humans forget timers, fudge stops, skip days. Resulting data is dishonest, which makes it worse than no data.
- Untracked time is information. A 2-hour gap in Wakatime data tells the user they were away from the keyboard — that's a fact, not a hole.
- Recruiter-facing surface —
wakatime.com/@chirag127is the user's public coding-time dashboard, complementing the family's other public surfaces (GitHub profile, sponsor rails permax-payment-methods). - Free, no-card — fits
rules/no-card-on-file+rules/no-subscriptions.