THE RECRUITING EDGE™ATHLETE INTELLIGENCE
PLATFORM MAP

Every route on the platform.

220 ROUTES · 110 PAGES · 110 API ENDPOINTS · 13 SURFACE GROUPS · athleteintel.pdfformula.io

Marketing & Public

28 ROUTES
/
Homepage — lander + Harper demo
/pricing
Plans & pricing (Prospect → Commit Pro)
/features
Feature showcase — every tool with LIVE/BUILDING badges
/platform
Platform 360° overview — why/how/what, athlete + coach value, partner economics, how partners earn
/nil-guide
NIL Education — plain-English guide for athletes + parents (public, Sprint 4.17)
/blog
The Recruiting Edge blog — 29-article SEO cluster, all link back to home (Sprint 4.18; +5 incl. NCAA five-year eligibility rule, transfer portal, roster limits)
/blog/[slug]
Blog article template — Article + FAQ + Breadcrumb JSON-LD (Sprint 4.18)
/llms.txt
AI-crawler site map — tells ChatGPT/Claude/Perplexity/Gemini what we are + which pages to trust (GEO, Sprint AIV.1)
/reports/recruiting-2026
Youth Sports Recruiting Report 2026 — cross-sport original survey data, Dataset+Article+FAQ JSON-LD (GEO, Sprint AIV.4/AIV.6)
/reports/recruiting-2026/survey
Recruiting Report survey — public form feeding the data asset (Sprint AIV.4)
/tier-tour
Interactive tier walkthrough — Free → Commit Pro
/signup
Create account
/login
User login (email + password / magic link / forgot password)
/reset-password
Set a new password after the recovery email link (Sprint 5.x)
/join
Partner/affiliate/creator chooser — routes to club, affiliate, or creator apply (Sprint 4.11)
/onboarding
First-run wizard — sport, position, school, club
/community
Community hub — discussions, live events, merch, IG band (Sprint 4.5; placeholder sections trimmed + events wired to DB Sprint 5.4)
/events
Public events list — published webinars/zoom/podcasts/showcases (Sprint 5.4)
/events/[slug]
Event detail — tier-gated join + RSVP (Sprint 5.4)
/community/discuss
Community forum — categories index (Sprint 4.9)
/community/discuss/new
Start a discussion from anywhere — category picker + composer (Sprint FORUM.1)
/community/discuss/[category]
Forum category — thread list + new-thread composer (Sprint 4.9)
/community/discuss/[category]/[threadId]
Forum thread — opening post, replies, AI Coach answer, reply composer (Sprint 4.9)
/shop
Merch drop landing — catalog preview · waitlist · Commit Pro 25% off (Sprint 4.8)
/directory
HTML sitemap — clubs, high schools, athletes by state
/platform-map
This page — every route on the platform
/terms
Terms of Service
/privacy
Privacy Policy

Coach Portal (College Coaches)

8 ROUTES
/coaches
College coach landing page — PDF Score explainer + 8-module toolkit + early-access waitlist (Sprint 4.0c)
/coaches/signup
Coach account creation — .edu auto-verify (Sprint 4.1c.1, 4.1c.6)
/coaches/login
Coach sign-in — Supabase Auth + ?next= intent (Sprint 4.1c.1, 4.1c.11)
/coaches/dashboard
Coach portal home — faceted athlete search + results table (Sprint 4.1c.2)
/coaches/dashboard/watchlist
Coach watchlist — saved athletes by funnel stage + private notes (Sprint 4.1c.3)
/coaches/dashboard/outreach
Coach outreach — templates · bulk-personalize · open/click/reply tracking (Sprint 4.2c)
/coaches/dashboard/ai-coach
Coach AI assistant — natural-language search · saved searches · compliance log (Sprint 4.3c)
/coaches/dashboard/roster
Roster planner — open scholarship slots · geographic heatmap · side-by-side compare (Sprint 4.4c)

Public Profile Network

4 ROUTES
/p/[slug]
Public athlete profile (DB-backed, indexed)
/p/[slug]/opengraph-image
Dynamic 1200×630 share card (auto-generated PNG)
/club/[slug]
Public club page with roster
/hs/[slug]
Public high school page with roster

Portal — Home

7 ROUTES
/dashboard
Athlete dashboard — Smart Hero + Coaches Checking You Out panel
/activity
Who's Checking You Out — named coach activity hub (viewed · saved · followed · opened email) + view analytics (Sprint WVY.1)
/messages
Coach outreach inbox — threaded conversations
/share
Share card gallery (11 cards + selector)
/university
PDF University — lesson player
/family
★ Parent dashboard — read-only per-athlete score + climb, coach interest, plan (PAR.1). Outside (app)/ — parents aren't athletes
/family/join
Accept a parent invite (?token=…) → binds parent to athlete, redirects to /family (PAR.1)

Portal — AI Tools (Claude Sonnet 4.5)

11 ROUTES
/tools
AI Tools index — card grid of every tool
/pathway
★ Realistic Pathway — honest reality-check + scholarship math
/coach-prep
Phone Call Prep · AI Roleplay (5 scenarios + ElevenLabs voice)
/video-strategy
AI Highlight Reel Strategy — director's cut list
/social-audit
Social Media Audit — coach-recruiter eye review
/campus-visit
Campus Visit Intelligence — pre/during/post playbook
/financial-aid
Financial Aid Estimator — Pell + state + merit + loans
/cost-of-attendance
True 4-Year Cost calculator (hidden costs included)
/nil
NIL Opportunity Finder + valuation
/scholarship-negotiation
Scholarship Negotiation Playbook + scripts
/nli-signing
NLI Signing Playbook (line-by-line walkthrough)

Portal — Profile

9 ROUTES
/profile
Profile hub — all 8 subsections
/profile/my-information
Identity, photo, contact
/profile/key-stats
PDF Score breakdown + key metrics
/profile/athletics
Position, club, events, video
/profile/academics
GPA, test scores, course rigor
/profile/eligibility
NCAA Eligibility Center status
/profile/events
Camps, tournaments, ID clinics
/profile/video
Highlight reel — URL paste + direct upload & in-browser clipping (Recruit, Sprint 4.0) + AI clip feedback
/profile/preferences
Recruiting preferences

Portal — Colleges

3 ROUTES
/find-colleges
Find Colleges — filters, US map, pagination
/colleges
My Colleges — wishlist + tracker
/colleges/[id]
College detail page (athletics, social, mascot)

Partners — Clubs · Schools · 501(c)(3)s · Leagues · Media

13 ROUTES
/
★ Lander — Partners section (04) · live logo grid + testimonials + commit spotlights
/partners/apply
Official club signup — INLINE account creation (no auth wall), saves draft, auto-detects brand color from logo (Sprint 5.5)
/partners/manage
★ Club self-service hub — edit info, payout (owner/admin), onboarding checklist, Team invites (Sprint 4.15/4.16)
/partners/join
Accept a club team invite (?token=…) → binds member to club, redirects to /manage (Sprint 4.16)
/c/[slug]
Branded partner referral page — sets attribution cookie (e.g. /c/westminster-utah)
/c/[slug]/kit
★ Partner Brand Kit — QR code · social templates · email · printable flyer · embed snippet
/c/[slug]/dashboard
★ Partner Dashboard — athlete count · per-tier breakdown · conversion % · roster · owner-only commissions + refer-a-club link (Sprint 4.12)
/c/[slug]/roster/[teamId]
★ PUBLIC team roster — signed-up athletes as tappable cards → /p/[slug], SportsTeam JSON-LD. The flyer's team QR lands here (Sprint ROSTER.1)
/team/apply
Team-manager self-request — pick club + team (or propose one) → club approves. Outside (app)/ (Sprint ROSTER.1)
/team
Team-manager chooser — one team → straight in; many → pick; pending/revoked states (Sprint ROSTER.1)
/team/[teamId]
★ Team-manager portal — 'X of Y have a profile' nudge + Create Roster Flyer, scoped to ONE team (Sprint ROSTER.1)
/team/[teamId]/flyer
Roster Flyer builder + print sheet — landscape print CSS, 3 QR types (athlete/team/coach), split-letter A·I, GPA + PDF score cards (Sprint ROSTER.1)
/team/join
Accept a team-manager invite (?token=…) → binds manager to team → /team/[teamId] (Sprint ROSTER.1)

Affiliate Program — Individuals (20% + 5% second-tier)

7 ROUTES
/affiliates
Affiliate landing page
/affiliates/apply
Application form — INLINE: creates/links the account itself (no athlete-signup detour), POSTs to /api/affiliates/apply (Sprint AFF.2)
/affiliates/dashboard
Affiliate dashboard — links · QR · social share kit · earnings · payouts · clicks; pending-application 'under review' state before approval (Sprint AFF.2)
/affiliates/marketing-kit
Marketing Kit — branded social assets + QR codes
/affiliates/agreement
Affiliate agreement + tax terms
/a/[code]
Referral redirect — sets 60-day cookie
/a/[code]/team
Team referral redirect (sub-affiliate path)

Creator Program — Influencers (flat 25%)

2 ROUTES
/creators
Creator landing page — flat 25% recurring · TikTok/YouTube/Insta funnel
/affiliates/apply?creator=1
Creator-flavored application (same backend, separate flag)

Internal — Admin (founders only)

10 ROUTES
/admin
Founder analytics dashboard — MRR · LTV · CAC · cohorts · funnel · costs · affiliates · separate 'Recent partners & affiliates' feed (labeled, not mixed with athletes) · Remove-a-user tool (Sprint AFF.3)
/admin/partners
★ Manage partners + testimonials + athlete commitment spotlights
/admin/partner-applications
Partner-signup health check — pending queue + ⚠ missing-owner (unpayable) detector, count-scaled (Sprint 5.5)
/admin/affiliate-applications
Individual affiliate/creator signups — pending queue + Approve (mints code, sends QR + links email) + Remove-a-user tool (email or per-row, cascades all profiles) (Sprint AFF.1 · AFF.2)
/admin/affiliates
★ Affiliate PAYOUTS god-view — every affiliate/club, their players + real MRR, monthly commission (20% direct + 5% sub-override), Stripe Connect status, ⚠ unpayable flag, CSV export, one-click 'upgrade a member keeping their price' (City SC deal helper)
/admin/outreach
Coach-outreach performance — open + reply rate by template / sport / division / AI-drafted / personal-note (Sprint CE.4)
/admin/events
Create/edit/publish events + announce to the database (Sprint 5.4)
/admin/recruiting-calendar
Manage recruiting Contact/Eval/Quiet/Dead period rows + first-contact-date preview (Sprint RCAL.1)
/admin/reports
Recruiting Report survey metrics — total/role/channel/per-question + recent feed (Sprint AIV.5)
/admin/infra
Infrastructure status — AI spend · DB size · external dashboard links

SEO & System

2 ROUTES
/sitemap.xml
Dynamic XML sitemap — every public URL, hourly refresh
/robots.txt
Crawl rules — public surfaces allowed, portal blocked

API Endpoints

110 ENDPOINTS
/api/ai-coach
Streaming Claude — global AI Coach drawer
/api/family/invite
POST — athlete invites 1–2 parents → parent_links + magic-link → /family (PAR.1)
/api/family/checkout
POST — parent funds a linked athlete's plan (tier→athlete via metadata, parent pays). PAR.2
/api/family/marketing-opt-in
POST — parent opts in/out of the parent marketing segment (parent_links flag + Resend). PAR.2
/api/forum/threads
POST — create forum thread + AI Coach starter answer (Sprint 4.9)
/api/forum/replies
POST — add reply to a thread (Sprint 4.9)
/api/forum/likes
POST — toggle like on a thread or reply (Sprint 4.9)
/api/forum/subscriptions
POST — follow/unfollow a thread (Sprint 4.9)
/api/forum/reports
POST — report a thread or reply for moderation (Sprint 4.9)
/api/forum/search
GET — thread title search for the universal Cmd-K palette (Sprint 6.2)
/api/instagram/recent
GET — latest @athlete_intel posts for the live IG band (Sprint 4.6)
/api/cron/instagram-refresh
GET — weekly cron, refreshes the 60-day IG long-lived token (Sprint 4.6)
/api/coaches/early-access
POST — coach waitlist signup from /coaches (Sprint 4.0c)
/api/match-analysis/[collegeId]
GET — Haiku-written per-school match narrative (Sprint 3.0z)
/api/coaches/signup
POST — coach account creation (Supabase Auth + profiles row, Sprint 4.1c.1)
/api/coaches/search
POST — athlete search for verified coaches (Sprint 4.1c.2)
/api/coaches/watchlist
GET/POST/DELETE — coach watchlist CRUD (Sprint 4.1c.3)
/api/coaches/notes
GET/POST — per-athlete private coach notes (Sprint 4.1c.3)
/api/coaches/outreach
GET/POST — coach → athlete outreach + tracking (Sprint 4.2c)
/api/coaches/contact-ack
POST — log a coach's contact-window soft-gate override (Sprint RCAL.1)
/api/coaches/ai-assistant
POST — Haiku-powered natural-language search (Sprint 4.3c)
/api/coaches/saved-searches
GET/POST/DELETE — coach saved searches + alerts (Sprint 4.3c)
/api/coaches/roster-stats
GET — aggregate stats for roster planner (Sprint 4.4c)
/api/coaches/roster-grid
GET/POST — sport-specific depth-chart grid + target upsert (Sprint 6.8)
/api/coaches/whoami
GET — server-side coach session diagnostic (used by /coaches/login fallback)
/api/shop/waitlist
POST — /shop merch drop waitlist signup → merch_waitlist (Sprint 4.8)
/api/admin/coach-verify
GET/POST — admin coach verification queue (Sprint 4.1c.4)
/api/admin/coaches
GET — list every coach account with activity stats (Sprint 4.1c.5)
/api/admin/backfill-search-columns
POST — one-time backfill of profiles.pdf_score + primary_sport_id (Sprint 9.1)
/api/admin/consent-stats
GET — aggregate consent dashboard stats (Sprint 3.10; queries fixed Phase 3 closeout)
/api/admin/consent-export
GET — admin CSV export of one user's consent_log timeline (?email=) (Phase 3 closeout)
/api/admin/comps/multi-sport
POST — grant/revoke Multi-Sport Pack (patches.hasMultiSportPack) by email, no Stripe charge (Sprint KS.2)
/api/auth/signout
POST — universal sign-out (athletes + coaches, Sprint 4.1c.2)
/api/realistic-pathway
★ Realistic Pathway analysis (Claude · honest reality-check)
/api/college-interest
AI Interest Level per college (Claude reads engagement signals)
/api/coach-prep
Coach Prep roleplay engine (Claude)
/api/coach-prep/voice
ElevenLabs voice synthesis (Flash v2.5)
/api/coach-prep/agent-url
ElevenLabs Conversational AI signed URL + per-scenario coach prompt (realtime voice roleplay, Sprint 4.24)
/api/coach-prep/voices
Lists the account's ElevenLabs voices (male/female) for the coach voice picker (Sprint 4.26)
/api/video-strategy
AI Highlight Reel Strategy (Claude)
/api/videos/analyze
POST — AI video moment tagging, Recruit-gated (Sprint 7.0)
/api/social-audit
Social Media Audit (Claude)
/api/nil-valuation
NIL Opportunity Finder + valuation (Claude)
/api/scholarship-negotiation
Scholarship negotiation playbook (Claude)
/api/financial-aid
Financial Aid Estimator (Claude)
/api/cost-of-attendance
True 4-Year Cost (Claude)
/api/campus-visit
Campus Visit Intelligence (Claude)
/api/nli-signing
NLI Signing Playbook (Claude)
/api/profile-view
Profile view beacon (privacy-respecting)
/api/coach-engage
Coach Like + Follow recorder
/api/track-view
Pageview tracker for funnel analytics
/api/messages/[id]/read
Mark message read
/api/email/welcome
Welcome email via Resend
/api/coach-email-draft
Streaming Claude — AI-personalized coach outreach email body (Sprint 5.1)
/api/colleges/coaches
Coach picker data — every coach for a school+sport from the DB; email/phone tier-gated to Prospect+ (CDB.3)
/api/email/coach-outreach
Coach outreach send — send-as-athlete (Gmail) when connected, else managed; tier cap on NEW outreach only (Sprint 5.1 / SAA.1)
/api/email/inbound
Postmark inbound webhook (coach replies)
/api/integrations/gmail
GET status / DELETE disconnect — send-as-athlete Gmail connection (Sprint SAA.1)
/api/integrations/gmail/start
GET — begin Gmail OAuth consent (send-as-athlete, gmail.send only) (Sprint SAA.1)
/api/integrations/gmail/callback
GET — Gmail OAuth callback, stores encrypted refresh token (Sprint SAA.1)
/api/e/o/[token]
GET — open-pixel for Gmail-sent coach mail → coach_open bell (Sprint SAA.1)
/api/auth/signup-complete
Signup consent capture — birthdate + ToS/Privacy + COPPA parent token (Sprint 3.0b)
/api/consent/parent-confirm
COPPA parent-consent magic-link landing (Sprint 3.0b)
/api/consent/reaccept
Re-accept current ToS/Privacy versions — fired by LegalReconsentBanner (Sprint 3.5)
/api/consent/grant
Grant consent for a single marketing category (preference center toggle, Sprint 3.7)
/api/consent/withdraw
Withdraw consent for a single marketing category (preference center toggle, Sprint 3.7)
/api/unsubscribe
Public one-click unsubscribe (no login) — GET browser + POST RFC 8058 (Sprint 3.7)
/api/profile/reset-onboarding
Wipes user's patches JSONB so they can redo /onboarding fresh (Sprint 2.98)
/api/webhooks/resend
Resend lifecycle webhook — delivered/opened/clicked/bounced/complained → email_log + suppression (Sprint 3.1) + coach-open bell (Sprint 5.1)
/api/stripe/checkout-addon
Standalone add-on checkout (Multi-Sport Pack $10/mo solo)
/api/qr
QR code generator (PNG)
/api/athlete/coach-interest
GET/POST — signed-in athlete's interested-school keys (coaches who viewed/saved them, WVY.1); lights the Fit 'Coach interest' factor to verified (Sprint FIT.3)
/api/outreach/recommended-template
GET — data-driven best coach-email template by reply rate for a sport+division (min-sample gated); powers the composer '💡 X replies best' hint (Sprint CE.5)
/api/affiliates/apply
POST — inline affiliate/creator application: creates/links the account from the email, stamps it as an affiliate (not athlete), writes the affiliate_applications row, emails a finish-your-login link (Sprint AFF.2)
/api/affiliates/branding
Save affiliate branding (logo · color · pitch)
/api/affiliates/upload
Upload logo / headshot to Supabase Storage
/api/affiliates/asset/[format]
Generate co-branded social asset PNG (next/og)
/api/affiliate/connect/start
Stripe Connect onboarding for affiliate
/api/cron/affiliate-payouts
Monthly affiliate payout cron
/api/cron/reengagement
GET — weekly cron: win-back cold marketing subscribers (60d no opens) + sunset (withdraw consent) after 30d (Sprint 3.9)
/api/cron/event-reminders
GET — daily cron: reminder email to registrants of events starting within 24h (Sprint 5.4)
/api/cron/forum-digest
GET — daily cron: 'new replies on discussions you follow' digest email (transactional, COPPA+suppression gated) (Sprint FORUM.3)
/api/events/rsvp
POST — register for an event; returns join link if tier-eligible (Sprint 5.4)
/api/admin/events
POST/PATCH/DELETE — admin event CRUD (Sprint 5.4)
/api/admin/events/announce
POST — email the database about an event via sendMarketing (segment: eligible/below/all) (Sprint 5.4)
/api/admin/recruiting-calendar
POST/PATCH/DELETE — admin recruiting period CRUD (Sprint RCAL.1)
/api/partners/apply
POST — inline club application: creates/links the owning account from the email, uploads logo, writes the partner row, emails a finish-your-login link (Sprint 5.5)
/api/admin/partners/impersonate
POST (admin) — one-time magic link to sign in AS a club owner to walk every partner page (open in Incognito) (Sprint 5.x)
/api/admin/partners/resend-activation
POST (admin) — re-send the co-branded 'you're live' activation email on demand (works even if already set up) (Sprint 5.x)
/api/admin/affiliate-applications/approve
POST (admin) — approve an affiliate/creator application: mints their affiliate_codes row (stamped to user_id), marks approved, emails Start-Here w/ QR + family + refer-a-club links (Sprint AFF.1)
/api/admin/users/delete
POST (admin) — permanently remove a user by email or id; cascades across every profile (athlete/affiliate/club/parent) (Sprint AFF.2)
/api/admin/affiliates/upgrade-member
POST (admin) — move a member's Stripe sub up a tier but KEEP their price (price swap + auto forever coupon); webhook flips tier durably. City SC deal helper
/api/partners/apply-notify
Email founder when a partner application lands
/api/partners/resend-onboarding
Admin: email a club owner their hub link to resume onboarding (Sprint 4.15)
/api/partners/invite
Owner/admin invites a team member (admin | marketing role) + emails accept link (Sprint 4.16)
/api/team/clubs
GET — public active-club search for the team-manager self-request (Sprint ROSTER.1)
/api/team/request
POST — team-manager self-request: creates/links account, inserts pending row for club approval (Sprint ROSTER.1)
/api/team/invite
POST — owner/admin (or founder) direct-invites a team manager → magic-link accept email (Sprint ROSTER.1)
/api/team/approve
POST — approve a pending team manager (creates the team if proposed) + emails them (Sprint ROSTER.1)
/api/team/deny
POST — deny a pending team-manager request (Sprint ROSTER.1)
/api/team/revoke
POST — remove a team manager (loses portal access) (Sprint ROSTER.1)
/api/team/managers
GET — list a club's team managers + pending requests (owner/admin/founder) (Sprint ROSTER.1)
/api/admin/settings
Admin settings (marketing spend for CAC)
/api/admin/cost
Admin monthly cost inputs for profitability
/api/stripe/checkout
Create Checkout Session for subscription tier
/api/stripe/checkout-addon
Create Checkout Session for add-on subscription (Multi-Sport Pack $10/mo, Sprint 2.89)
/api/stripe/portal
Customer Portal — manage subscription
/api/stripe/webhook
Stripe webhooks — subscription + Connect events
/api/stripe/change-plan
In-app tier upgrade/downgrade with proration
/api/stripe/cancel
Toggle cancel-at-period-end

Integrations + Infrastructure

Stack

Next.js 14 (App Router)TypeScript (strict)Supabase Auth + Postgres + StorageStripe Checkout + Connect ExpressResend (transactional email)Anthropic Claude Sonnet 4.5Vercel (hosting + cron)Vercel Edge Functions

External Services

Stripe (Live + Connect)Resend (Email)Supabase (Auth + DB + Storage)Anthropic ClaudeVercel CronWikipedia (mascot/college enrichment)

Built for every family. Every zip code.

Free to start. No credit card. The recruiting edge — democratized.

Build your profile →