A tutor that tells you why it asked.

Praxis picks your next question from three models running side by side — Bayesian Knowledge Tracing for what you know, Elo for how hard each question really is, and SM-2 for when you are about to forget. Every one of them will show its working.

No account needed — practice is saved to this browser, and signing up later keeps it.

Subjects 5 AGI Agents (6-week course) · Algebra · Probability & Statistics · JavaScript · Mechanics
Skills 38 Each with its own BKT parameters
Questions 170 Every one with a hint ladder and a worked solution
Target success rate 78% The desirable-difficulty zone

It knows what you know

Bayesian Knowledge Tracing keeps a probability — not a score — that you have actually learned each skill, and separates knowing it from guessing it. A right answer after two hints moves that number much less than one without, because it should.

It learns which questions are hard

Every question starts with its author's difficulty estimate and then moves on an Elo scale as people answer it. Your ability moves on the same scale, so "hard for you" is a real comparison rather than a label someone typed in.

It catches you before you forget

SM-2 schedules each skill to come back just as recall drops towards 90%. Review pulls a fresh question on the skill rather than the one you memorised — the card is the skill, not the flashcard.

The bit most tutors get wrong

Ask a chat model for help and it solves your problem. You leave with a finished exercise and no more ability than you arrived with. Praxis hands the tutor only the hints you have already unlocked — not the answer, not the worked solution — so it cannot give away what it was never given. Climb the ladder and it will go further; it will not skip ahead because you sounded frustrated.

Rung 0

What quantity is the question asking for, and what are you given?

Rung 1

What is being done to x, and in what order?

Rung 2

Undo the +5 first: subtract 5 from both sides.

Solution

Only once you have taken every rung — or asked for it outright.

Everything is checkable

The app records what each model predicted before it saw your answer, then scores those predictions against what happened. If the Brier score is not beating 0.25, the adaptivity is not working, and Praxis says so on your progress page rather than hiding it.

The same applies to grading: free-text answers are marked against a rubric first, and a model may only move a borderline score by ±0.3 — never past a floor of zero rubric hits or a ceiling of all of them.