5 Commits

Author SHA1 Message Date
Tim Leikauf
4274d680e1 Rework PostHog setup — use Next.js ingest proxy + posthog-js/react
Mirrors the proven pattern from gendersloty: rewrites /ingest/* to
the PostHog host so requests go through the same origin (no CORS,
no ad-blocker issues). Uses PostHogProvider and usePostHog from
posthog-js/react official React integration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 21:50:43 +02:00
Tim Leikauf
eb228ba50b Test PostHog with EU cloud host to isolate proxy issue
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 21:48:16 +02:00
Tim Leikauf
8601119f64 Switch PostHog persistence to memory
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 21:16:15 +02:00
Tim Leikauf
f487189a19 Fix PostHog init race condition — remove __loaded guard
posthog.capture() queues events automatically before init completes,
so checking __loaded blocked the first pageview from being sent.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 21:04:57 +02:00
Tim Leikauf
0101447d84 Add PostHog analytics — full event tracking across all pages
Tracks pageviews, hero/CTA clicks, product teaser clicks, app card
and detail views, newsletter signups, nav interactions, and footer
link clicks with structured properties for PostHog dashboards.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 20:59:29 +02:00