# Dispatch: Coach Dashboard Retool + AD View **To:** Daedalus (frontend), Socrates (backend) **From:** Wadsworth **Date:** 2026-05-03 **Priority:** High — Refines LAT demo scope --- ## Problem Current Coach dashboard shows multi-sport roster. Real coaches manage ONE sport. Need: 1. **Coach Dashboard retool** → single-sport focus 2. **AD View** → multi-sport overview (new) ## Decision Implement BOTH: - Coach view: single sport, clean roster, quick status - AD view: all sports summary, drill-down capability ## Files - `shared/build-20260501/frontend/templates/coach/dashboard.html` — Retool this - `shared/build-20260501/frontend/templates/ad/dashboard.html` — Create new - `shared/build-20260501/backend/app/api/dashboard.py` — Add endpoints - `shared/project-docs/rtsport/coach-retool-spec.md` — Full spec ## Backend Tasks (Socrates) 1. **Update User model** — Add `assigned_sports` and `assigned_teams` arrays 2. **New endpoint:** `GET /api/v1/dashboard/coach?sport=Football` - Returns roster filtered to that sport - Includes team grouping (Varsity/JV/Freshman) 3. **New endpoint:** `GET /api/v1/dashboard/ad` - Returns all sports summary (athlete counts, out/modified/cleared) - Recent activity across all sports 4. **Seed data:** Add test coaches: - `coach_fb@preble.k12.wi.us` — Football only - `coach_bb@preble.k12.wi.us` — Basketball only - `ad@preble.k12.wi.us` — AD role ## Frontend Tasks (Daedalus) ### Coach Dashboard (Retool) - **Header:** Show sport name with dropdown selector (if multi-sport coach) - **Quick stats:** Out / Modified / Cleared for THIS SPORT ONLY - **Roster:** Filtered to selected sport, grouped by team - **Athlete detail:** Position info, grade, sport-specific context - **Actions:** Message AT, View Timeline ### AD View (New) - **Header:** "AD Overview" — no sport selector - **School stats:** Total athletes, active cases, out today - **Sport cards:** Grid of all sports with counts - **Recent activity:** Cross-sport feed - **Tap sport card:** Drill down to that sport's coach view ## Design Notes - Keep existing CSS tokens and color system - Mobile-first — coaches check this on phones on the sideline - AD view can be desktop-friendly (they're at a desk) - Sport icons: 🏈 Football, 🏀 Basketball, ⚽ Soccer, etc. ## Test Script ``` 1. Login as coach_fb → see only Football roster 2. Switch sport dropdown → Basketball → roster reloads 3. Login as ad → see all sports summary 4. Tap Football card → see Football coach view 5. Verify stats are sport-scoped (not school-wide) ``` ## Success Criteria - [ ] Coach sees only their sport's athletes - [ ] Sport selector works (if multi-sport assigned) - [ ] AD sees all sports summary - [ ] Drill-down from AD to sport view works - [ ] All data loads from API (no hardcoded mock) ## ETA - Backend API: May 10 - Frontend retool: May 12 - Integration test: May 14 --- **Matt's open questions** (answer if you have opinions): 1. Coach sport assignment: Manual by AT? Self-selected? Imported? 2. Assistant coaches: Full team or position group? 3. AD permissions: View-only or can edit? 4. Phase 1 priority: Coach first, AD second?