Navigate to http://localhost/classroomai/ in Chrome or Edge. The entry splash page will appear. Click Enter System → to go to the Dashboard.
Click Live Feed in the sidebar. Click Start Session. Allow browser camera and microphone permissions. The AI models will load from CDN — this takes ~15 seconds the first time, and is instant on subsequent visits (cached). The noise meter and behaviour breakdown update in real time.
Real-time colour-coded bounding boxes appear on each detected student face with their current behaviour label. The event log below records every behaviour transition. The noise meter shows ambient class noise via the microphone.
Click Stop & Save Session. The session data is stored locally. Visit Dashboard for a summary, Statistics for charts, or Session Report for a detailed printable report.
Go to Video Analysis. Drag and drop (or browse) a classroom video file (MP4, WebM, MOV). Click Analyse Video. The AI will process frame by frame with the same overlay. A summary report is displayed when done.
getUserMedia requires either localhost or a HTTPS connection. If you open the file directly (file://) or from a plain HTTP domain other than localhost, the browser will block camera access. Run the app through Laragon/XAMPP at http://localhost/classroomai/.
js/ai-engine.js) or simply treat Suspicious alerts as conversation-starters rather than definitive flags.
cai_logs and can be downloaded as JSON by running Logger.exportLogs() in the browser console.
| Label | Colour | Meaning | Recommended Action |
|---|---|---|---|
| ✓ Attentive | Green | Calm, focused, processing information | None required |
| ★ Engaged | Cyan | Actively enjoying or interested | Positive — maintain activity |
| ! Alert | Blue | Suddenly surprised or alert | Observe — may need context |
| − Disengaged | Amber | Withdrawn, uninvolved | Check in with student |
| ⚠ Anxious | Orange | Stressed, fearful, test anxiety | Offer reassurance |
| ✗ Disruptive | Red | Frustrated, hostile behaviour | Immediate attention needed |
| ? Confused | Purple | Does not understand content | Rephrase or re-explain |
| 👀 Suspicious | Dark Red | Looking sideways (head turned) | Investigate — possible copying |