An unofficial leaderboard for Globodex Codex ambassadors. It tracks the profile-style numbers people can see on Codex profile pages: lifetime tokens, peak tokens, longest task, current streak, and longest streak.
Live board: https://globodex.github.io/tokenmaxx-board/
The easiest way to update the board is through Codex. Start with a screenshot of your visible Codex profile stats.
First-time setup:
/update-stats setup
Later refreshes:
/update-stats
Codex reads the visible stats, can add optional location and country metadata, updates data/profiles.json, runs checks, and helps verify the board.
The board is meant to be easy for the community to audit.
- Stats should come from visible Codex profile screenshots or visible profile text.
- Optional location and country fields are contributor-provided metadata.
- If a stat is unclear, leave it out until there is a clearer screenshot or profile view.
data/profiles.jsonis the shared source for the ranked leaderboard.
There are two supported ways to get an update into the board.
Maintainers with write access can sync a profile directly:
npm run sync:profile -- \
--name "Daniel Green" \
--handle "@daniel.green" \
--location "Kansas City" \
--country "United States" \
--lifetime 16B \
--peak 1.7B \
--task "18h 10m" \
--current 57 \
--longest 65That command updates data/profiles.json in GitHub. GitHub Pages publishes from the latest main branch.
Community submissions can come through pull requests. The daily automation can merge straightforward leaderboard updates when a PR:
- targets
main - is not a draft
- changes only
data/profiles.json - passes
npm run check - merges cleanly
PRs that touch app code, workflows, docs, or other data files wait for a human review. That keeps the auto-merge path focused on simple leaderboard data updates.
The repo has three GitHub Actions workflows:
Validaterunsnpm run checkon pushes and pull requests.Merge Leaderboard Submissionsruns once per day at14:17 UTCand can also be started manually from the Actions tab.Deploy Pagespublishes the static site to GitHub Pages on pushes tomain, once per day at14:37 UTC, or manually.
The merge workflow validates each eligible data-only PR before merging it. After the merge pass, it deploys the latest main branch and checks that the live data/profiles.json matches the repository copy.
Serve the static app:
npm startThen open:
http://localhost:5173
Run the full local check:
npm run checkValidate only the leaderboard data:
npm run validate:dataVerify the deployed Pages data against local data/profiles.json:
npm run verify:pagesdata/profiles.jsonis the ranked leaderboard data.data/ambassadors.jsonis an unranked public directory sourced from the OpenAI Developers Codex Ambassadors page.- Lifetime tokens are the default ranking lens.
- Peak tokens, longest task, current streak, and longest streak are secondary sort modes.
The app is plain HTML, CSS, and JavaScript. It does not depend on private telemetry or a public Codex stats API.
GitHub Pages should be configured to publish with GitHub Actions, not the legacy branch source. GitHub documents that commits pushed by a workflow using the default GITHUB_TOKEN do not trigger a legacy Pages build, so this repo deploys Pages explicitly from Actions.
Please keep the auto-merge criteria narrow. Leaderboard PRs should stay data-only, while code and workflow changes should remain human-reviewed.