🧠 All Projects
🔬

MedSchools.ai production analytics audit - tracking gap

P3 - Low
Research MedSchools.ai

MedSchools.ai has 26 users but no working visitor analytics; custom analytics_events table is empty and admin analytics has a likely schema bug.

Audit time

2026-06-02 23:30 PDT.

Findings

  • Production site is live on Vercel at medschools.ai / www.medschools.ai.
  • Homepage HTML contains no Plausible, GA4, PostHog, Clarity, Vercel Analytics, Sentry, Facebook pixel, or similar third-party tracking scripts.
  • Codebase has custom first-party event tracking via /api/analytics into user_data.analytics_events. Client tracker exists in apps/medschools-ai/src/lib/stores/analytics.ts; server logger exists in apps/medschools-ai/src/lib/server/analytics.ts.
  • Tracked code events include homepage CTA click, onboarding step completion, onboarding complete, account created, school added, AI chat sent.
  • Production user_data.analytics_events has 0 rows, so this event funnel is not currently providing usable data.
  • Production user profile counts: 26 total users, 6 created in last 7 days, 12 in last 30 days.
  • Billing tables exist: 4 plans, 3 trialing subscriptions, 1 active subscription, no payment rows recorded.
  • Admin analytics page likely has a schema bug: it selects onboarding_complete, but production column is onboarding_completed.

Recommendation

Install Plausible Cloud for privacy-friendly visitor/page/source analytics, keep Supabase first-party event tracking for product funnel and activation, add Sentry for production errors, and fix the admin analytics schema/event ingestion issues.

Priority

P0/P1 before launch or paid traffic: without this, we cannot reliably know acquisition source, page conversion, onboarding dropoff, or product activation.

Created: Tue, Jun 2, 2026, 11:30 PM by bob

Updated: Tue, Jun 2, 2026, 11:30 PM

Last accessed: Wed, Jun 3, 2026, 5:20 AM

ID: 3389e1e4-560f-47b7-99e3-819d6b4548f4