An AI learning tutor that knows exactly where the class is.
The Learning Agent is an AI tutor grounded in a course's own content — it answers from the
ingested curriculum, never from the open internet, and never ahead of the room. In a live ILT
session it follows the class and holds back topics the instructor hasn't reached (no spoilers);
as a standalone tutor it opens the whole course with quizzes and ranked summaries. Around the
tutor sits the instructor's live cockpit, engagement pushes, and analytics for the learning team —
all demonstrated in this POC on one real course: CT101 — Time Fundamentals.
Grounded answers · no hallucinated content
Coverage frontier · appendix never answerable
Provider-portable: mock · Anthropic · Azure OpenAI · Bedrock
Class-level sentiment · no learner identity
Featured · the transcription piece
🎙️ Live Transcription Demo — Script Sync
The POC isn't connected to Microsoft Teams, so it mocks a live course from within the POC
itself: a simulated instructor "speaks" the CT101 verbatim control script as live
captions — the same stream a Teams transcript feed would deliver — and Script Sync works
out where the class is, in real time.
- Watch it lock on — forward-only matching with anchor-phrase fingerprints and two-reading hysteresis (no wobble).
- Make it misbehave — send the instructor off script (flags OFF SCRIPT after ~90 class-seconds) or into appendix material (out-of-course drift alert).
- The frontier follows the class — the engine suggests a coverage move; the instructor confirms. Learners' gate updates live.
- End class — get the after-class adherence report: segments taught, % on script, every detour timestamped.
▶ Open the transcription demo
Upload an ILT script →
06:38Let's talk about two rules that people confuse constantly: rounding and gracing.
06:41Rounding snaps a punch to the nearest interval.
06:45Gracing looks at the schedule and asks: was this punch close enough…
ON SCRIPT · CT101-M3-08 “Rounding versus gracing” · segment 8 of 19
💡 Class appears to be on Rounding versus gracing — advance the coverage frontier to L3? [✓ Advance]
One agent · three experiences
🎓
Learner
In a live class, or self-serve afterwards
- Tutor chat grounded in CT101 — concise, cited answers from the course content only.
- No spoilers in-training — questions ahead of the class get a friendly hold (or a "jumping ahead" nudge with Show me anyway, if the instructor allows it).
- Standalone mode — the full course, on-demand quizzes, and "summarize lesson 3"-style ranked takeaways.
- Live engagement — instructor polls, word clouds, shared resources, and the end-of-session survey appear right in the chat.
- 👍/👎 on every answer — feeds CSAT and the content team's quality views.
🎤
ILT Instructor
During the live session
- Live cockpit — read the room: frustration, attention, deferred questions, CSAT, and a concept-struggle heatmap with a live nudge.
- Drive the coverage gate — "Now on Lesson X", advance everyone, hard hold vs allow-jump-ahead.
- Push to learners in one tap — pace check, confidence check, custom polls, word cloud, resources, end-of-session survey; responses stream in live.
- Script Sync — see on-script / off-script, where the class is against the verbatim script, and pacing vs plan.
- Presenter mode — a guided overlay that walks the demo on screen.
📊
Trainer · L&D · Admin
Before and after the session
- Dashboards — Instructor Insights, Module view (self-serve vs ILT, deflection, cohorts), Content & Quality (repeat rate, low-confidence log + CSV, quiz mastery), and a Hallucination Barometer.
- Ingest any course — SCORM / Rise / Storyline upload, browser or headless deep-scan, video speech-to-text, or paste a transcript.
- Ingestion pipeline (target state) — the six-stage demo: extract → chunk (structure from the manifest) → preflight battery (Gate A) → human review by exception (Gate B) → publish / version / rollback.
- ILT Scripts — upload the learning team's verbatim control script; validated against the playbook rules on ingest.
- Test console — switch LLM providers live, simulate the Teams feed, inspect the coverage matrix and retrieval explainability, seed demo data.
About this POC. Everything runs locally from one command with no API key (the default
mock provider is deterministic and offline); switching to Anthropic, Azure OpenAI, or AWS
Bedrock is a .env change — no code edits. The coverage rule ("is this chunk answerable
right now?") is enforced at the retrieval layer, not in the prompt, and the appendix /
supplemental material is never answerable in either mode — there are tests proving both. For review
convenience every surface is open: passcode gates are removed, and mode/persona switches that
would be driven by context in production (Teams meeting vs standalone app, SSO roles) are exposed as
toggles. Ingested content, course expansions, and survey edits are in-memory overlays that reset on
restart. See the README for architecture, deployment (Render / Docker / any cloud), and the full
feature docs.