AI-powered course intelligence, built on the Microsoft stack
AI-powered course intelligence built on the 2026 Microsoft platform. Students get a personal tutor that knows every lecture, tutorial and past exam. Teachers get real-time intelligence on who's struggling and why. All inside Microsoft Teams. Deployed over one weekend.
494
Docs Indexed
20
Students
30
Endpoints
35
Functions
80
Graph Nodes
167
Graph Edges
Deployed Over 1 Weekend
From Zero to Working Demo
π
The Student Experience
Students open Teams and chat with CohortAI like they'd message a friend. No new apps to install, no portals to bookmark, no passwords to remember. The AI knows the course material, tracks their progress, and adapts to their level.
Core
π¬ AI Tutor
Ask anything about the course. Get Socratic guidance grounded in course materials.
Uses RAG to search 316 indexed documents: lectures, tutorials, textbook chapters, past exams. Returns grounded answers with source citations. Maintains 10-turn conversation history so follow-up questions work naturally. Guides students toward understanding rather than giving direct answers.
POST /api/tutor
Example in Teams
I don't understand how to draw a free body diagram for a truss joint
Good question. Let's start with the basics β when you isolate a joint, what forces act on it? Think about what's connected to that joint.
π Sources: Lecture 3 β FBDs (Week 3)
The members connected to it?
Exactly. Each member exerts a force along its axis. Now, at a pin joint, are those forces tension or compression? What's the difference?
Core
π Adaptive Quizzes
Practice questions that match the student's current level. Auto-graded with targeted feedback.
Two modes: generate creates questions, answer scores them. Difficulty adapts to mastery: below 40% gets foundation, 40-70% gets application, above 70% gets analysis-level questions. Each answer returns a score, correctness, detailed feedback, and any misconceptions identified. Mastery graph updates after each attempt.
A planar truss has 7 joints and 11 members. Is it statically determinate? Explain using the equation m = 2j β r.
m = 2j - 3, so 2(7) - 3 = 11. Yes it's determinate.
β Score: 4/5. Correct conclusion! One note: you wrote r = 3 which assumes 3 reaction forces (pin + roller). That's right here, but always check the support conditions first.
Core
πΈ Work Assessment
Photograph handwritten work. Get rubric-based feedback in seconds.
Uses GPT-4o Vision to analyse photos of handwritten engineering solutions. Scores against a five-criterion rubric: Free Body Diagram (25%), Method Selection (25%), Calculations (25%), Final Answer (15%), Communication (10%). Returns overall score, per-criterion breakdown, strengths, areas for improvement, and written feedback.
POST /api/assess
Example in Teams
Can you check my work? π photo
π Overall Score: 72/100
β’ Free Body Diagram: 22/25 β’ Method: 20/25 β correct approach β’ Calculations: 15/25 β sign error in moment equation β’ Answer: 10/15 β’ Communication: 5/10
π§ Check the moment about point A. The distance for the 5kN force is incorrect.
Personalised
π Study Tools
Recommendations, study plans, and a personal dashboard driven by mastery data.
π―
Study Recommendations
Identifies the 3 weakest topics (below 60% mastery), sorted by week. Generates specific revision strategies with links to relevant course resources.
POST /api/study-recs
π
Study Plan
Structured plan covering up to 4 focus areas. Searches course resources for each topic and builds a prioritised schedule based on overall mastery.
POST /api/study-plan
π
Personal Dashboard
HTML dashboard showing mastery per topic, overall average, and class rank. Can be pinned as a Teams tab for always-on visibility.
GET /api/dashboard?view=student
Student Dashboard β Grady Archie (ENGG1300)
Live preview of the student mastery dashboard. Each student sees their own topic-by-topic progress, overall average, and class rank.
Teachers don't need to go looking for problems. CohortAI surfaces them automatically. Daily alerts for at-risk students, real-time curriculum intelligence, and a weekly digest that writes itself.
Automated
β οΈ Early Warning System
Daily automated scan. Flags students falling behind before they fail.
Runs on a daily timer (7am AEST). Scans every student's mastery graph against a configurable threshold (default 50%). Sorts results by severity. Sends Adaptive Card alerts to the teacher's Teams channel via Microsoft Graph. Also available on demand.
GET /api/early-warning?threshold=50
Daily Alert in Teams
β οΈ Early Warning Report (threshold: 50%) Students at risk: 3 of 20
π΄ Neva Nolan β Distributed Loads: 29% π΄ Alex Chen β Frames: 35% π‘ Sam Park β Trusses: 42%, FBDs: 48%
On Demand
π Curriculum Signals
Which topics are students struggling with? Cohort-level intelligence in real time.
Aggregates mastery data across all students per topic. Calculates averages, standard deviation, and severity. Identifies topics where many students fall below threshold. Suggests specific actions: more worked examples, extra tutorials, adjusted pacing. Cached 1 hour.
POST /api/curriculum_signals
Example in Teams
Show me the curriculum signals
π Curriculum Signals
[HIGH] Distributed Loads β avg: 38% β Add more worked examples
GPT-4o writes a narrative summary of how the cohort tracked this week.
Collects mastery data, quiz scores, and engagement signals, then GPT-4o writes a plain-English summary. Can auto-post to a Teams channel for the teaching team. Cached 1 hour. Teachers can trigger a fresh digest and post with ?post=true.
POST /api/curriculum_digest
Weekly Summary
Strong progress on FBDs this week β average mastery rose from 62% to 71% after the extra tutorial. However, Distributed Loads remains concerning: 8 of 20 students below 50%. Consider a worked example session before mid-term. Three students need individual check-ins.
Automated
π Generate Module
Auto-creates Teams Classwork modules with targeted resources for struggling topics.
Detects topics where students are struggling, then GPT-4o generates a full remediation module: concept reviews, worked examples, practice problems, and quick reference cards. Each resource is uploaded as an HTML file to SharePoint and linked in Teams Classwork as a draft module for teacher review before publishing. Two modes: single topic or auto-scan all topics below threshold.
POST /api/generate-module
Module Generation
Generate a module for Distributed Loads
π Module Created: Understanding Distributed Loads, Shear Force, and Bending Moment
5 resources uploaded to Classwork: π Concept Review Β· ~15 min βοΈ Worked Example: UDL on Simply Supported Beam Β· ~20 min βοΈ Worked Example: Triangular Load on Cantilever Β· ~20 min π Practice Problems Β· ~25 min π Quick Reference Card Β· ~5 min
Status: DRAFT β review and publish in Classwork tab.
Visual
π Dashboards
Cohort and teacher views. Pin as Teams tabs for always-on visibility.
π₯
Cohort View
All students ranked by overall mastery. Topic-by-topic breakdown. See who's ahead, who's behind, and where the gaps are at a glance.
GET /api/dashboard?view=cohort
π«
Teacher View
Aggregated analytics: class averages per topic, at-risk count, engagement trends. The view for a course review meeting.
GET /api/dashboard?view=teacher
Teams Tabs
π Static Tabs
Three dedicated tabs in the CohortAI Foundry app. Teams dark purple palette. SSO-authenticated.
π
Course Admin
Self-service course provisioning wizard. Upload a PDF, review extracted structure, add teaching team, click provision. Role-gated via Teams SSO β students see a lock screen.
GET /api/teacher-portal
π
My Gradebook
Cross-course student mastery matrix. Each student sees their performance across all enrolled courses with topic-level heatmap, cohort ranking, and progress trends.
GET /api/gradebook
π
Teacher Insights
Cross-course intelligence dashboard for teaching staff. Program-wide topic difficulty rankings, course health comparison, at-risk student aggregation, and curriculum signals that span multiple courses.
GET /api/teacher-insights
Teacher Dashboard β ENGG1300 Analytics
Full cohort analytics: heatmap, at-risk students, topic health, and student roster. Pin as a Teams tab for always-on visibility.
Cohort Leaderboard β ENGG1300
Student leaderboard ranked by overall mastery. Visual progress bars with colour-coded performance tiers.
β‘
How It Works
Every interaction follows the same path through the Microsoft stack.
"Quiz me on trusses" or "Can you check my work?" Natural language, no commands to learn.
Microsoft Teams β Foundry Agent (v2) or Copilot Studio (v1)
2
Agent decides what to do
The Foundry agent reads the message, checks its File Search index for relevant course material, and selects the right OpenAPI tool. No manual topic routing needed. Can chain multiple tools in a single conversation turn.
Function resolves the student from the knowledge graph
Looks up the student in Cosmos DB Gremlin by email. Retrieves their mastery scores per topic, quiz history, and engagement level. Falls back to name matching if email case doesn't match.
Azure Functions β Cosmos DB (Gremlin API)
4
AI does the heavy lifting
Depending on the endpoint: semantic search across 316 documents (tutor), adaptive question generation (quiz), photograph analysis via Vision (assess), or mastery aggregation (signals). All generation and reasoning handled by GPT-4o on Azure OpenAI.
Azure AI Search + Azure OpenAI (GPT-4o, Sweden Central)
5
Formatted response returned to Teams
Every endpoint returns a display_text field with clean, formatted output. No raw JSON. The Foundry agent weaves the response into a natural conversation with source citations. Students see a helpful response, not a data dump.
Azure Functions β Foundry Agent β Microsoft Teams
π§±
Microsoft Stack
Orchestration (v2)
Foundry Agent Service
GPT-4o agent with 11 OpenAPI tools, File Search (494 docs), and Code Interpreter. Intelligent routing replaces manual Topic configuration. Three-role system prompt (7,431 chars).
Orchestration (v1)
Copilot Studio
Natural language routing via 9 Topics with trigger phrases. Each fires an HTTP Request to Azure Functions. Shares the same Azure Functions backend as v2.
AI Model
Azure OpenAI (GPT-4o)
Sweden Central deployment. Tutoring, quiz generation, scoring, work assessment (Vision), study plans, curriculum narratives, and module generation. 25-second timeout per call.
35 functions, 30 HTTP endpoints, 5 timer triggers. Serverless, auto-scaling. Multi-course provisioning, cross-course intelligence, teacher portal with SSO auth, gradebook and teacher insights tabs, in-memory caching (1hr TTL), time budgets, and Azure Blob storage for generated module content.
Interface
Microsoft Teams
Zero new apps. Chat-native experience. Standalone bot + three static tabs: Course Admin, My Gradebook, Teacher Insights. Role-gated access. All UI surfaces use Teams dark purple palette.
Identity
Microsoft Graph + Entra ID
Two-identity model: infrastructure SP for Graph API + resource management, product app for bot auth + Teams SSO. Roster sync from Education API. Role-based access via class teacher membership + admin UPN whitelist.
Content
SharePoint
Source content library. Lecturers upload course materials, AI Search indexes automatically. No manual curation needed.
Platform Roadmap
v1
CohortAI v1 β Copilot Studio
Zero custom framework code. Copilot Studio for natural language understanding. AI Search for automatic content indexing. Cosmos DB Gremlin for student knowledge graphs. GPT-4o Vision for handwritten assessment. Every component is a managed Azure service.
Copilot StudioAzure OpenAIAI SearchCosmos DBAzure FunctionsGraph API
β
v2 β
Foundry Agent Service β Deployed
LLM-powered Foundry agent replaces rigid Topic routing. One conversation spans tutoring β quiz β study plan. File Search over 494 documents. Code Interpreter for engineering calculations. Same backend, same graph β new brain, same body.
Upload a Course Outline PDF β GPT-4o extracts curriculum structure β auto-provisions M365 Team, Cosmos graph, AI Search index, and routing. Single Foundry agent serves all courses. Cross-course intelligence.
Two-identity architecture with Teams SSO. Three static tabs: Course Admin, My Gradebook, Teacher Insights. Role-gated via Graph Education API. All dashboards rethemed to Teams dark purple palette. 35 functions, 30 endpoints, 5 timer triggers.
Teams SSORole-Based Access3 Static TabsTwo-Identity Model35 FunctionsDark Purple Theme