Behind the portfolio · Data transparency

Portfolio analytics

A small demonstration of analytics engineering: approximate visitor context, a trusted edge boundary and separate cookieless pageviews. No invented metrics.

See this visit’s context

How I built this

Visitor context and pageviews: separate evidence
  1. Local observations

    Browser and device are approximate local estimates, not identity. No GPS, language-based country guess or new visitor ID.

  2. Trusted edge context

    One automatic same-origin request asks our Cloudflare Worker for approximate country and request time. Only trusted runtime metadata enables a receipt; local preview and missing metadata stay unknown.

  3. Separate pageviews

    PostHog's native SDK uses cookieless ALWAYS mode and memory persistence. An allowlist keeps only $pageview events and removes query strings and fragments. SDK readiness is not proof of ingestion.

  4. Daily hash

    Native ingestion uses IP address, required raw user-agent, host and day for a server-side daily hash. These inputs are processed, not avoided. Daily estimates are not unique people across days.

  5. Honest limits

    The card confirms only its context request, not a pageview received or stored by PostHog. No aggregate counter, ingestion lookup, private API key or embedded dashboard is needed.

Only pageviews, to demonstrate the implementation — not identify recruiters. No profiles, clicks, funnels, reading-depth tracking or replay; no prior-acceptance popup.

Privacy information still matters: DNT/GPC and saved opt-outs are honored; capture stays off if the saved privacy choice cannot be read. Cookieless is not a legal-compliance guarantee. Context is checked before requesting and before displaying a response; a live privacy block clears it. Requests time out, never poll and are not cached.