Search topic
add ai coding stats to github profile readme
Practical outcome
Paste one line of Markdown for a usage card that updates as you sync, then control what it shows.
Quick answer
README.md, and paste one line of Markdown from whoburnedmore.com/embed. The card is an SVG that whoburnedmore renders from your synced daily totals each time it is requested, so the numbers move as you code and you never recommit. GitHub serves it through its image proxy, so expect a delay of minutes to a few hours, not real time. Sync your usage first with the whoburnedmore CLI command, npx whoburnedmore. 🔥Most “stats cards” on GitHub profiles count commits and languages. An AI usage card answers a different question: how much model work went into what you ship. It shows tokens across Claude Code, Codex, Gemini CLI, Cursor and the other agents the CLI reads, rolled up per day. This guide uses the real snippets the site generates, and GitHub's own documentation for the profile README and its image proxy, checked November 8, 2026.
CLI sync
daily totals, about every 15 min
whoburnedmore
renders the SVG per request
GitHub camo
proxies and caches the image
Profile visitor
sees the cached card
How do I create the GitHub profile README?
GitHub shows a profile README only when four things are true: the repository name matches your username, the repository is public, it has a file called README.md in its root, and that file is not empty. If your username is octocat, the repository is octocat/octocat.
- 1
Create the special repository
On GitHub, click + then New repository. Type your exact username as the name, choose Public, and switch Add README on. GitHub pre-fills the file with a template you can keep or delete. - 2
Already had a repo with that name before July 2020?
GitHub will not show it automatically. Open the repository and click Share to profile. - 3
Open the file for editing
Click Edit README above the right sidebar of your profile, or editREADME.mdlocally and push.
Which Markdown do I paste?
You have two options. The card comes from the embed studio at /embed. Sign in and it loads your own handle. Signed out, you can type any public handle. Then pick a style, a time window, a theme and an accent, and press Copy GitHub Markdown. The badge is a small two-part shield on your profile page at /u/<handle>, under show more breakdowns in the “README badge” section.
[](https://whoburnedmore.com/u/your-handle?utm_source=github&utm_medium=profile&utm_campaign=usage-card)
[](https://whoburnedmore.com/u/your-handle)
Swap your-handle for your whoburnedmore handle. It can differ from your GitHub username, especially if you signed in with Google. The query string is the whole configuration, so you can also edit it by hand:
The embed studio offers every period except 7d, which the image endpoint still accepts. week starts on Monday and year on January 1, in the timezone your CLI last reported. To keep the card in one spot that tools can update safely, wrap it in marker comments. These are the same markers the studio's “Agent prompt” tab asks a coding agent to use:
## What I build with <!-- whoburnedmore:start --> [](https://whoburnedmore.com/u/your-handle?utm_source=github&utm_medium=profile&utm_campaign=usage-card) <!-- whoburnedmore:end -->
Card or badge: what each one shows
If you want something badge-sized that also takes a window and a theme, pick the Badge style in the studio, or one of its “Daily badge”, “Weekly badge” and “Yearly badge” presets. That is an embed card URL with style=badge, so everything below applies to it.
Can the card follow GitHub's light and dark mode?
Yes, but you have to write it yourself. The studio copies one image at one theme. GitHub Markdown supports the HTML <picture> element, and GitHub's changelog shows it combined with the prefers-color-scheme media feature to choose an image per theme. Request the same card twice, once with theme=dark and once with theme=light:
<picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://whoburnedmore.com/api/embeds/your-handle?style=signature&theme=dark&accent=ember&period=30d">
<img alt="your-handle's AI token usage"
src="https://whoburnedmore.com/api/embeds/your-handle?style=signature&theme=light&accent=ember&period=30d">
</picture>Visitors in dark mode get the dark card, and everyone else gets the light one in the <img> fallback. Keep the style, accent and period the same in both URLs so the card does not change shape when someone switches theme. This version has no link to your profile. If you want one, use the plain Markdown snippet instead.
How fresh is the card on GitHub?
Three things decide how old the numbers can be. First, your background sync sends new daily totals about every 15 minutes while your machine is on. Second, whoburnedmore renders the SVG from your latest saved data each time it is asked. Third, GitHub never loads the image straight from whoburnedmore. It rewrites external images to an anonymized camo.githubusercontent.com URL. That proxy is GitHub's open-source Camo project, and it keeps its own cached copy.
GitHub does not publish a fixed refresh interval for camo. Its docs say that if a changed image does not update, the image host should send Cache-Control: no-cache. On November 8, 2026, both the card and the badge URL answered with a public max-age=14400 in Cache-Control, a lifetime of four hours. So in the worst case, plan for a card a few hours behind your dashboard. Rolling windows such as 30d can also go down as old days drop out.
Forcing GitHub to fetch a fresh copy
Right-click the card on your profile, copy the image address (it starts withhttps://camo.githubusercontent.com/), and run curl -X PURGE <that URL>. GitHub documents this command, but asks you to use it sparingly because every viewer then re-requests the image. You never need to recommit the README to update the numbers.If you stop syncing, the saved totals stay on the card. Larger styles show the last sync date and switch to “Sync paused” after 24 hours. Run the sync again on the machine you code on and the same URL picks it up.
What data does the card make public?
A card renders only while both visibility switches on your profile are on: Public profile and Listed on leaderboard. Listing needs a social handle, which GitHub sign-ins already have. Google sign-ins have to add one. When either switch is off, the image URL returns a neutral card with no numbers. What a public card can show:
The same public numbers are also available as JSON, with no key, at https://api.whoburnedmore.com/v1/usage/<handle>. The API tab of the studio also creates personal read-only API keys for private usage. Never put one of those in a README or an image URL. A card needs no key at all. 🛡️
How do I remove the card later?
- 1
Delete the snippet
Remove the line, or the whole marked section, fromREADME.mdand commit. That is enough to take it off your profile. - 2
Stop the numbers being served anywhere
Turn off Public profile or Listed on leaderboard, or runnpx whoburnedmore privateto leave the public leaderboard. New requests for the card then return the neutral image, and the badge returns 404. Copies already cached elsewhere can take a while to expire. - 3
Delete the data itself
npx whoburnedmore removedeletes your synced usage, stops background sync and signs this machine out. Your account stays. - 4
Hide the whole profile README
GitHub stops showing it if the file is removed or emptied, the repository is made private, or the repository name no longer matches your username. GitHub recommends making the repository private if you are unsure.
For the leaderboard behind the rank on the badge, see the AI coding token leaderboard. To check your numbers before you publish anything, run npx whoburnedmore --local. It stays offline and writes a dashboard file on your machine.
Sources checked November 8, 2026: GitHub: managing your profile README, GitHub: about anonymized URLs (Camo), GitHub: basic formatting syntax (picture element), GitHub changelog: theme context for images, the live card and badge response headers, and the whoburnedmore embed studio, embed renderer and badge route source.
Related guides
The AI Coding Token Leaderboard: Who Burned Most?
The fun part: rank your token burn against every other developer on the board.
How to Check Your AI Coding Token Usage
The cross-tool overview: one command that totals your token usage and cost across every AI coding agent you run.
A Free Claude Code Cost Tracker
Track Claude Code cost over time—offline with --local, or submit aggregates to a shareable profile.