How this is measured

An honest record.
With the boundaries visible.

Activity is useful only when its source and limits are clear. No source is connected at launch.

What can appear here

This version accepts owner-reviewed daily token aggregates from a local CSV or JSON import. A token is a provider-reported unit; it is not a message, a line of code, an hour worked, or a measure of engineering quality.

“Verified” means the owner reviewed provenance and the daily aggregates intended for publication. It does not mean this website independently authenticated the underlying provider record.

What does not appear here

ChatGPT consumer usage, Codex usage, and OpenAI API organization usage are different sources. This site does not scrape authenticated accounts, read cookies, estimate tokens from conversations, or claim access to lifetime personal usage.

GitHub contributions, if added in a future version, will be labeled coding activity and kept separate from tokens. Live integrations and application instrumentation are not enabled.

Dates, zeroes, and missing data

Imports declare their original IANA timezone and coverage dates. The default is America/Detroit. Daily records already aggregated in a timezone cannot be accurately converted to another timezone without the underlying event timestamps.

A recorded zero means zero tokens. An absent day is missing unless the owner explicitly declares complete coverage. Future days are rejected. Missing days never become implied zeroes.

Totals and streaks

Daily cells show daily totals, weekly bars sum observed days into Monday-based weeks, and the cumulative chart adds observed totals while leaving gaps for missing days. Partial weeks are labeled. Totals exclude missing data.

Active days have a count greater than zero. Streaks are shown only when every day in the selected range is observed and consecutive. The current streak ends on the last date of that range. Incomplete coverage suppresses both streak values.

Privacy and controls

Raw uploads stay outside public assets. Import is a local command, not a public endpoint. Only reviewed daily totals and provider labels are published; costs, organization identifiers, project identifiers, and raw input/output breakdowns are excluded.

The update timestamp records import time. The range selector changes the displayed time window, not the source’s aggregation timezone. There is no source selector while only one provider is implemented.

Owner workflow

The source project includes CONTENT_EDITING.md and a validated import command with a dry-run option. Reimports replace the dataset rather than add to it. Demo counts exist only in tests and local development previews.

Back to the website