π©βπ« Teacher journey
Main scenario: analyze your lesson, target struggling students, act and follow up.
1. Login & navigation
/loginβ[email protected]/demo1234β redirected to/dashboard.- Topbar: Post-Lesson (default), History, Stats, Messages, Follow-Up.
2. Select a lesson
- Class selector (class βMarch 2026β).
- Course button (remembers the class) β PlanningModal (month/day view).
- Click a day β detail β Open this lesson β.
- The dashboard loads: class metrics + timeline + students table.
Intermediate states
- No course selected β βNo lesson selectedβ screen + βChoose a lesson ββ button.
- Selection persisted in
localStorage; the URL?class=&session=takes priority.
3. Read the lesson
- Metrics row (7 tiles, see metrics) β hover the β?β.
- Engagement chart per minute (colored segments).
- Students table sorted by score; flags β /π¨, trend β²/βΌ.
4. Dive into a student
- Click the row β student panel (right).
- 6 domains, Attention metrics (6 tiles), Cumulative record (5 lessons), interpretation (advisory/priority), Tomorrow's recommendation.
- Actions:
- + Save to plan β the student appears in Follow-Up.
- π― Generate IEP β individual intervention plan (LLM,
OPENROUTER_API_KEYrequired). - β Parent report β parent summary (LLM).
- β Full report β full report (PDF via
textToPdf).
5. Review the video
βΆ Watch video β player; selecting a student filters the synchronized timeline; seek works (HTTP Range).
6. Follow up
- Follow-Up tab: the list of planned students (add/remove).
- Messages tab: talk to parents per student (or from the student panel).
- History / Stats: class context over the last lessons / the month.
Journey diagram
flowchart TD
A[Login teacher] --> B[Dashboard]
B --> C{Choose a lesson}
C -->|PlanningModal| D[Lesson loaded]
D --> E[Metrics + timeline]
E --> F[Click student]
F --> G[Profile: domains + attention + cumulative]
G -->|Save to plan| H[Follow-Up]
G -->|IEP/report| I[LLM modal or PDF]
G -->|Watch video| J[Player + synced timeline]
To check in tests
The teacher βown lessonsβ filter applies to the session list in the DB; the Post-Lesson view stays complete (lake). Know this discrepancy if you test a teacher account before the import.