Inspiration
Learning with LLMs often feels slower than it should:
- Answers are verbose when you want a quick explanation.
- You get hit with unfamiliar terms without any scaffolding.
- Linear chat makes you scroll, lose context, and never really track what you actually learned.
We wanted something that feels like Canvas, but built for AI-first learning.
What it does
TutorCanvas lets you create Courses → Modules → Items, where an “AI tutor thread” is not a wall of text but structured learning.
Each tutor response is converted into:
- Core answer (short and direct)
- Expandable cards (Intuition / Example / Formal / Pitfalls)
- Clickable term tooltips + a course Glossary drawer
- A micro-check question to confirm understanding
Progress is tracked by checkpoint performance + term mastery, not by time spent.
How we built it
- Frontend: Canvas-style layout (course sidebar, modules list, main content, glossary drawer)
- Backend: API routes for courses/modules/items, chat history, and progress computation
- AI layer: the LLM returns strict JSON so the UI can reliably render cards, terms, and micro-checks
We store:
- tutor thread events (questions + structured answers)
- glossary terms with statuses (unknown / learning / known)
- micro-check attempts for progress
Challenges
- Structured output reliability: we enforced a strict JSON schema and validated responses to prevent UI breakage.
- Making it feel non-linear: we avoided “scrollback hell” by using cards + a glossary drawer instead of pure chat.
- Progress that means something: we tied progress to demonstrated understanding (micro-checks + term mastery).
What we learned
LLMs become much better tutors when you control:
- pacing (short core + expand)
- vocabulary (term tooltips + glossary)
- feedback (micro-checks)
- structure (course/module organization)
Next steps
- Import PDFs/lecture notes and auto-generate modules + tutor threads
- Spaced repetition from “unknown” terms and missed micro-checks
- Better personalization (user skill model per course/topic)
Built With
- next
- prisma
- tailwind
Log in or sign up for Devpost to join the conversation.