$ ./stats --public
Stats
What this site gets, and what I have been building. Everything on this page is either an aggregate count or public profile data — there is nothing here about any individual visitor.
// traffic
Visits to heyswet.in
updated —Loading…
Where readers are
top 10Loading…
Most-read pages
top 10Loading…
Privacy — what is actually stored. This site counts its own page views.
The entire schema is (day, path, country, count): a row says
“on this day, this page was viewed N times from this country”, and nothing about
who. There is no IP address, no session, no cookie, and no visitor identifier — not
hashed, not truncated, not “anonymised”. Nothing to leak, because nothing is collected.
That is also why unique visitors are not shown. Distinguishing one reader from another requires storing something that identifies them, and this site does not — so the figure would have to be invented, and it is left as a dash instead. No advertising network, no cross-site tracking, no fingerprinting, and no third-party analytics service receives anything from this page.
// coding activity
Pulled live from each platform's public API through this site's own
/api/ endpoints, so no third-party widget or tracking script loads here. A panel
that says it is not connected means exactly that — it is never standing in for a zero.
GitHub contributions
last 12 monthsLoading…
LeetCode
solved & contestsLoading…
Codeforces
rating & contestsLoading…
// how this page works
- The browser only ever calls this site's own origin. GitHub, LeetCode and Codeforces are reached from serverless functions, which is why no external host appears in this page's Content-Security-Policy.
- API tokens live in environment variables and are never sent to the browser. The page-view counter needs no privileged key at all — it writes through a database function that can only add one to a total.
- Traffic is counted by this site, into this site's own database. No analytics vendor is involved and nothing is paid for.
- Responses are cached at the edge, so a busy day does not become a thousand upstream calls.
- Panels are honest about failure. Unconfigured, unreachable and empty are three different messages, and none of them is a zero.