Case Study
CampusContext
CampusContext embeds an AI sidebar directly into Canvas LMS so students get context-aware help without leaving their coursework.
Founder & Engineer
2026
Problem
Students are constantly copy-pasting assignment prompts, quiz questions, and lecture PDFs into ChatGPT in another tab, losing context and breaking flow. The answers they get back know nothing about their course, their deadlines, or the materials their professor actually uploaded.
Solution
I built a Chrome extension (Manifest V3) that injects an AI sidebar into every Canvas page, indexes each course's materials into a local knowledge base, and streams answers from Google Gemini grounded in the student's actual coursework.
Impact
Beta v0.4.0 in active use; streaming Gemini chat, Canvas knowledge-base indexing across PDFs, DOCX, and Canvas Pages, and generative UI widgets rendered inline in chat responses.
Problem
Students already use AI for coursework. The workflow is copy-paste from Canvas into a generic chatbot that knows nothing about the course, syllabus, files, deadlines, or professor context.
Build
- Chrome extension injects an AI sidebar into Canvas pages.
- Course context auto-detects from Canvas and caches for 24 hours.
- Knowledge base indexes PDFs, DOCX files, Canvas Pages, and discussion threads.
- Gemini chat streams inside Canvas with direct-answer and study modes.
- Generative UI widgets render grade breakdowns, reminders, and study plans inside responses.
Technical Signal
- Built around Manifest V3 constraints: streaming flows server to background to content script.
- Indexed Canvas materials from PDFs, DOCX, Pages, and discussion threads using the student's active Canvas context.
- Added SSRF validation on extract-text requests, restricting fetches to Canvas domains.
- Current hardening focus: widget sanitization, postMessage origin validation, storage partitioning, and keyboard access.
Current State
Beta v0.4.0. Core loop works: sidebar injection, course detection, material indexing, streaming chat, and inline widgets. Next: security hardening, storage rework, keyboard accessibility, and production API deploy.
Why It Matters
The value is not the model. It is the course context the model normally lacks.