The Analytics Dashboard That Never Leaves This Browser
Every number on /analytics is computed from this tab's localStorage. Nothing is posted. Clear it and the page goes blank, which is the point.
I wanted a session dashboard on this site without standing up a tracker. /analytics is the result: first visit, session count, per-page views, a seven-day spark, and the achievement badges, all read from keys in this browser. The tracker is a client component that increments on pathname change. It never fetches. It never sets a cookie. If storage throws, it shrugs.
A session is a 30-minute gap. Close the tab, come back an hour later, totalSessions goes up by one. Come back in ten minutes and it does not. The page listens for a custom event the tracker fires after each write, so the first paint after a new visit does not lose the race. Clear My Data wipes mnx-session-data, the active-session key, achievements, pages-seen, and themes-seen. After that the KPIs are empty, because there is no server copy.
Vercel Analytics and Speed Insights still run for me, in layout, so I can see traffic. That is operator telemetry. The /analytics page is the opposite on purpose: "Your session. Yours only." The numbers you see there are yours. They are not mine.
If a dashboard can be rebuilt from one localStorage blob, it is not analytics of an audience. It is a mirror. I kept both, and I labeled them differently.