Your course already knows the answers.
LessonFresh turns what you teach into a per-course knowledge base — student chat that cites the exact paragraph, practice generated with provenance, and activities students can actually play. All inside Canvas, through LTI.
Your Canvas admin adds LessonFresh once through LTI; instructors launch it from inside Canvas, and students just click the course links.
Student chat
Answers that show their work
Students ask questions on the lesson page and get answers grounded in this course's own material — not the open internet. Every claim carries a citation that deep-links to the exact paragraph it came from, so "where does it say that?" is always one click.
Practice
Knowledge checks with provenance
Generate practice questions from what you actually taught — multiple choice, short answers graded by AI with honest feedback, fill-in-the-blank. Every item records the content it was grounded in and flags itself for review when that content changes.
Import
Start from the course you already have
Pull an existing Canvas course or a Common Cartridge export. Pages, files, and syllabus become searchable course knowledge; module structure mirrors both ways, so nothing has to be rebuilt by hand.
Playground
Try it — this is the real thing
These aren't mockups: they're the same activity components students get on lesson pages, running a mini-lesson on how learning actually works. Drag, flip, and check — keyboard works too.
A timeline you can read top to bottom — each event in context.
1885
Ebbinghaus charts the forgetting curve
Testing his own memory with nonsense syllables, Hermann Ebbinghaus showed that memories decay on a predictable curve — steep at first, then flattening.
Every spaced-review schedule since is an answer to this curve.
1917· 32 years later
Gates shows recitation beats rereading
Arthur Gates found that students who spent most of their study time reciting from memory outperformed those who only reread — the first classroom evidence for retrieval practice.
1939· 22 years later
Spitzer takes spaced testing into real classrooms
Herbert Spitzer tested over 3,600 Iowa sixth-graders and showed that an early quiz slowed forgetting for weeks — testing as a learning event, not just a measurement.
2006· 67 years later
Roediger & Karpicke revive the testing effect
Their lab and classroom studies made retrieval practice the backbone of modern learning science: recalling material strengthens it more than restudying it.
The 2006 paper
1A student has one week before an exam. Which plan does the research favor?
2Which of these count as retrieval practice? Select all that apply.(select all that apply)
An exam is 16 days away. Plan reviews of today's lesson using spaced retrieval.
- 1Start with a self-quiz today, right after studying — recalling it once from memory is the strongest first encoding.
In the product these are generated from your course content in one click — with per-question analytics, and answer keys that never reach the browser.
Custom interactives
When the built-ins aren't enough, build your own
Write plain HTML, CSS, and JavaScript — or describe the widget and let the authoring assistant write it — and it runs as an activity right on the lesson page. Simulations, explorable diagrams, little games: whatever the lesson needs.
var ctx = sky.getContext("2d");
function draw() {
var a = orbit.value * Math.PI / 180;
ctx.clearRect(0, 0, 640, 240);
// Ocean: an ellipse whose long axis points at the Moon —
// one bulge from gravity, one from inertia
ctx.save();
ctx.translate(320, 120);
ctx.rotate(a);
ctx.fillStyle = "#9ed4f2";
ctx.beginPath();
ctx.ellipse(0, 0, 82, 56, 0, 0, 7);
ctx.fill();
ctx.restore();
// Earth
ctx.fillStyle = "#14608f";
ctx.beginPath();
ctx.arc(320, 120, 50, 0, 7);
ctx.fill();
// Moon
ctx.fillStyle = "#cfd8dd";
ctx.beginPath();
ctx.arc(320 + Math.cos(a) * 240, 120 + Math.sin(a) * 92, 13, 0, 7);
ctx.fill();
}
orbit.addEventListener("input", draw);
draw();This is that exact code, running live — drag the slider.
Every widget runs in an origin-isolated sandbox (sandbox="allow-scripts", no same-origin): it can draw, animate, and respond to input, but it can never read student sessions, call the API, or reach into Canvas.
Analytics
See what's working — and what's missing
Every number answers a “so what”: an unread lesson gets moved, a hard question gets rewritten, a content gap becomes a draft page. And it's aggregate-only by design — insight into the course, not surveillance of students.
How it works
From existing course to living course
Step 1: Add it to Canvas
Your Canvas admin registers LessonFresh once for the whole institution — LTI 1.3, cookieless, approved in a single step. No per-instructor accounts to create.
Step 2: Author or import
Write lessons in the editor, or pull in an existing Canvas course or Common Cartridge export. Everything becomes the course's private knowledge base the moment it's published.
Step 3: Place with deep linking
Drop lessons and activities into Canvas modules. Students get cited chat, knowledge checks, and playable activities right on the page — nothing extra to install.
For institutions
Built to pass the committee
The unglamorous requirements — standards, accessibility, data ownership, cost control — are the load-bearing ones. They're where LessonFresh started, not where it's hoping to end up.
LTI 1.3, done right
Cookieless launches that survive Safari in an iframe, deep linking as the canonical placement, and dynamic registration with an approval queue for your admins.
Accessibility as a practice
Keyboard-operable drag-and-drop with screen-reader announcements, alt-text enforcement, an authoring accessibility linter, and an automated axe-core test suite in CI.
No content lock-in
Every page, activity, and asset lives app-side; Canvas stores nothing but LTI links. Migrating means re-placing links — never converting content.
AI costs you can see — and cap
Your institution runs in its own isolated tenant. AI usage is metered per course, monthly statements show exactly where it went, and spend caps mean the bill can never surprise you.
Contact
See it in your Canvas instance
Tell us a little about your institution and what you teach. We'll set up a walkthrough with your own course material — imported live, questions answered with citations.
We read every message.