The numbers were lying politely
The homepage of this site has a section called "Work in the open": public repositories, stars, forks, followers. For a long time those numbers were fetched from GitHub when the site was built and then frozen into the page.
That sounds harmless until you compare them with reality. The page said 44 repositories, 99 stars, 17 forks, and 31 followers. GitHub said 45, 118, 23, and 32. Nothing was broken. The numbers were just old, and a stale number in a confident layout is worse than no number, because nobody can tell it is stale from looking at it.
It was worse than "refreshes on deploy." The build cached the GitHub response, so even new deploys could ship the same old snapshot. The refresh mechanism existed. It just was not guaranteed to run.
The fix is a route, not a rebuild schedule
The obvious fix is to rebuild the site more often. That treats a data problem as a deployment problem, and it still leaves the numbers wrong between builds.
The fix that shipped is smaller. The site now has an API route, /api/github-stats, that fetches the same GitHub endpoints on the server, caches the answer at the edge for an hour, and returns it as JSON. The stats section renders the build-time snapshot first, then updates itself from that route when the page loads. If GitHub is unreachable, the snapshot stays. The page never shows a blank where a number used to be.
The counting rules did not change: stars and forks are summed over original repositories only, not forks. Live data with different rules would just be a faster way to be wrong.
What I would check before doing this elsewhere
Two things made this safe to ship. First, the fallback: every live number needs a last-known-good value behind it, because the upstream API owes you nothing. Second, the cache: unauthenticated GitHub API calls are rate limited, so "live" has to mean "cached live" or the feature fails exactly when the site gets attention.
A static site can still tell the truth. It just cannot do it with numbers baked in at build time and forgotten.