SHOT Perform — Complete User Journey Mapscroll = zoom · drag = pan · double-click = reset Download PNG
SHOT Perform — Complete User Journey Map Every screen · tab · action · navigation path across coach / athlete / parent · event & evaluation lifecycles Coach Athlete Parent Event lifecycle Eval lifecycle Quick sheet Shared / chrome A · ENTRY & SHELL Login → /perform /perform dispatcher · useCurrentRole() Coach Athlete Parent Bottom Nav (StandardFooter) ?tab= · gold active HOME /home PERFORM ?tab=spotlight EVENTS ?tab=events HISTORY ?tab=history CLUB ?tab=club B · COACH (teal) C · ATHLETE (purple) D · PARENT (gold) SPOTLIGHT (CoachTriage) FeedbackRAGQueue row → [feedback sheet] NextEventCard → [event sheet] TopMoverCard → [improver] → Dev Report AssessmentList row → [assessment sheet] AnnouncementsDigest → [announcement sheet] QuickAction: Create Event → events/create QuickAction: Announce → announcements/create QuickAction: Eval → [evals-outstanding] EVENTS (CoachEventsTab) Week | List | Month | Past mode toggle + filter Create Event (ghost) → events/create ?date Tap event → [event sheet] → full page HISTORY (CoachHistoryTab) Team | Athlete toggle match record · framework gaps Tap athlete → Athlete mode (inline chart) CLUB (Team + Admin) ClubTeamSwitcher switch team context Roster → tap athlete → [sheet] → Dev Report Invite Athletes → modal Admin: Settings / Intensity → ?tab=admin&section Admin: Framework → FrameworkExplorer SPOTLIGHT (StoryFeed) Coach left feedback → [feedback sheet] read-only Self-eval due (48h) → [self-eval] → PreEvalTab Next event → [event sheet] Streak this month My Development (IDP) → Development Report EVENTS (AthleteEventsTab) Week | Month toggle Tap event → [event sheet] HISTORY (premium) Season Summary Events·AvgScore·Evals·Streak Framework Performance category scores Generate my report → Development Report CLUB (AthleteClubTab) Team identity + roster teammates list SPOTLIGHT (ChildFocused) Child switcher multi-child select ChildIdentityCard avg score · trend Child's next event → [event-parent sheet] OwedEvalBanner row → [parent-eval] → PreEvalTab RecentEvaluations row → [eval-row sheet] View development → child report EVENTS (ParentEventsTab) Week | Month toggle Tap event → [event-parent ?childId] HISTORY (child) Child Season Summary Generate child's report → Development Report CLUB (ParentClubTab) Child's team roster E · EVENT LIFECYCLE STATE MACHINE (coach drives) CREATE Step1 info → Step2 evals DRAFT select players/coaches/positions PUBLISHED attendance · RSVP · PRE-EVAL IN_SESSION timer · live attendance EVALUATING coach scores 1-10 + comment COMPLETED / REVIEW share feedback · lock Create Publish Start Session End Session Complete CANCELLED terminal Cancel F · EVALUATION LIFECYCLE (cross-persona sequence) PRE-EVAL athlete/parent · published event runs in_session POST-EVAL athlete/parent · evaluating COACH SCORES per area · evaluating COACH FEEDBACK compose comments SHARE TOGGLE share_with_athlete · review VIEW FEEDBACK athlete & parent · gated SHARE GATE: share=false → "Waiting for coach feedback" G · QUICK-VIEW SHEETS (QuickViewSheet dispatcher · 11 kinds) event → /events/:id/published event-parent → /events/:id ?childId feedback → /events/:id/review self-eval → /events/:id/published parent-eval → /events/:id/published eval-row → /events/:id (status) improver → Development Report modal assessment → ?tab=events announcement → announcements/:id team → ?tab=club evals-outstanding → nested eval-row sheets H · CLUB / TEAM / ANNOUNCEMENTS TREE MyClubsPage /perform/clubs ClubDashboardPage /clubs/:id ClubCoaches ClubPlayers ClubEvents ClubSettings CoachInvite TeamCreate TeamDashboardPage /clubs/:id/teams/:id TeamPlayerInvite FrameworkExplorer AnnouncementsPage /clubs/:id/announcements CreateAnnouncement AnnouncementDetail ModerationDashboard AnnouncementSettings NotificationPrefs sheets open full → event Create Event drives scoring pre-eval
coach=teal · athlete=purple · parent=gold · event=blue · eval=green · sheet=pink