Adaptive learning, paced for you
A path drawn from
where you actually are.
Most courses start at lesson one whoever you are. LearnPath diagnoses your level first, writes a curriculum around it, and keeps rewriting that curriculum as your mastery shifts.
- Adaptive intake quiz
- Prerequisite-ordered path
- AI-authored lessons
- Socratic tutor
The path rewrites itself.
Not a playlist you work through in order. Mastery is a rolling score over every answer you give, and it decides what sits at the top of your path next.
Your intake quiz already showed you can load a file. That lesson starts mastered — and gets skipped.
Four steps, then it runs.
- 01DescribeSay what you want to learn, however vaguely. A clarity loop asks follow-ups until the goal is sharp enough to plan against.
- 02DiagnoseA short adaptive quiz spans difficulty bands to find where you actually are — with an honest “I don't know” on every question.
- 03GenerateModules and lessons are written for that level and sorted by prerequisite, so nothing arrives before the thing it depends on.
- 04AdaptEvery practice answer moves a rolling mastery score. The path reorders, skips what you've proven, and resurfaces what slipped.
Written for you, not retrieved.
Each lesson is authored against your level and objectives: an explanation, an analogy that lands, a worked example, and practice that grades the moment you answer.
A group-by is a mail sorter: every row drops into the pigeonhole named by its key, and only once every row has landed do you weigh each pile.
sales.groupby("region")["revenue"].sum()Which call returns one row per region?
Multiple choice is graded on the spot — no waiting on a server round trip.
It won't just tell you.
The tutor is grounded in your own curriculum and lesson text, so it answers about what you're actually studying. Ask it for the answer outright and it hands you the next question instead.
Just tell me why my group-by returns NaN.
Not yet — you're close. Before the group-by runs, what does that column's dtype say? And what does sum() do with a value it can't add?
…oh. It's an object column, not a float.
That's it. So what's the one call you'd put in front of the group-by?
Never hands over the answer
Start where you are, not at lesson one.
Describe a topic and take the quiz — the first path is generated from there.
Get started