Adaptive technical learning

Turn your own documents into a hands-on coding course.

Upload documentation, papers, or notes. Canopy generates a source-grounded course: lessons, exercises, and tests cited back to the material they came from. It reshapes your route as you learn, without ever rewriting what you have already completed.

Open your courses
1
Upload a source

A PDF, a Markdown file, or plain notes become the ground truth for every lesson Canopy generates.

2
Get a generated course

A canonical concept map of lessons and coding exercises, each one citing the section it was grounded in.

3
Practice in a live sandbox

A code editor and terminal run each exercise in the browser. Run tests freely while you work, then submit when you are ready for it to count.

4
It adapts to you

Struggle on a concept and Canopy inserts a targeted refresher; move fast and it keeps pace. Every change is visible and explained, never silent.

A Canopy lesson with a citation dialog open to the exact excerpt from the uploaded source PDF
Grounded in your material

See exactly where every lesson comes from.

Citations open the original source at the relevant passage, so explanations stay verifiable and your material remains the ground truth.

A Canopy coding lab: the course outline, lesson instructions, a Python editor with multi-head attention code, and a passing test run
Practice in a live sandbox

Write real code and run the real tests.

Each lab opens an editor and a test runner in the browser. Run the visible checks as often as you like while you work, then submit when you want the full suite to count.

Canopy's mastery view: per-concept cards showing separate Understand and Apply percentages, with six of sixteen concepts mastered
Mastery, not completion

Know what you understand, and what you can apply.

Every concept is tracked on two axes and updated from what you actually answer and submit, so progress reflects real understanding rather than how many pages you clicked through.