Scientifically backed adaptive learning
We measure your mastery with Bayesian Knowledge Tracing, then challenge you with individually calibrated problems at the edge of your ability.
1Know exactly where you stand
Per-topic mastery estimation
We estimate mastery per topic with Bayesian Knowledge Tracing [1], one of the most widely used models of student knowledge in adaptive learning. It treats each skill as learned or unlearned and updates that probability after every attempt. We extend it two ways: attempts are scored on a continuous scale instead of right or wrong [2], and harder problems carry more evidence than easier ones [3].
Mastery is tracked separately for every topic, so a strong record in arrays never hides a gap in graphs. That gap is exactly what an interviewer finds if it goes unmeasured. A problem can usually be solved more than one way, so we credit the topics your solution actually used, not every topic the problem is tagged with. When your code is accepted, an AI reviewer reads it, identifies which topics it draws on and how heavily, and moves each topic's mastery by its share.
Each attempt's evidence is your time against an interview benchmark, any hints or wrong submissions, and whether the accepted solution hits the optimal time complexity, which the same reviewer checks against the problem's editorial. Finishing always beats giving up. More help never scores higher. Repeating a problem counts once.
- Clean solve
- Solved with hints
- Gave up
2Always practice at the edge of your ability
Calibrated difficulty and adaptive challenge
Every problem in the bank is calibrated individually onto one continuous difficulty scale, so even problems at the same official level are ordered from easiest to hardest. Each topic keeps its own level on that scale, updated after every attempt by stochastic approximation [4]. Steps start large, so a handful of problems place you, then shrink once your results start alternating [5]. The same up-down logic finds perceptual thresholds in psychophysics [6].
The target is desirable difficulty: practice that is effortful but achievable, which improves long-term learning even though it feels harder in the moment [7]. Research on optimal training finds that learning is fastest when some attempts fail, not when every one succeeds [8]. Your study mode sets how hard to push, and the level you pick at sign-up is only a starting point that a few problems correct.
- 1Problems feel easy: each clean solve steps the difficulty up.
- 2Too hard: a give-up steps it back down.
- 3Settles at the edge of the learner's ability, and keeps adjusting.
- Comfortable: step up
- Struggled: step down
3Remember what you learn, and fix what you missed
Spaced review and learning from errors
Spreading practice out over time improves retention compared with massing it together [9]. Problems you've solved come back for review at growing intervals, and the ones you solved cleanly wait longest.
Failures come back sooner. Making a mistake and then correcting it is a powerful way to learn [10], so a problem you gave up on returns before one you solved.
4Spot the right approach in seconds
Retrieval practice for approach recognition
Recognizing which technique a problem calls for is often the hardest part of an interview. Flashcards train that skill directly: each card shows a problem statement, and you retrieve the approach and its complexity from memory against a timer, while an AI grader either passes the card or gives you a Socratic nudge. Retrieving an answer from memory strengthens it far more than re-reading it does [11, 12].
Cards follow a spaced schedule: missed cards come back quickly, and cards you know return at growing intervals. In a review of the evidence on common study techniques, practice testing and distributed practice were the two rated highest-utility [13].
References
- [1] Corbett & Anderson 1995 · Knowledge tracing: Modeling the acquisition of procedural knowledge
- [2] Wang & Heffernan 2013 · Extending knowledge tracing to allow partial credit: Using continuous versus binary nodes
- [3] Pardos & Heffernan 2011 · KT-IDEM: Introducing item difficulty to the knowledge tracing model
- [4] Robbins & Monro 1951 · A stochastic approximation method
- [5] Kesten 1958 · Accelerated stochastic approximation
- [6] Levitt 1971 · Transformed up-down methods in psychoacoustics
- [7] Bjork & Bjork 2020 · Desirable difficulties in theory and practice
- [8] Wilson et al. 2019 · The Eighty Five Percent Rule for optimal learning
- [9] Cepeda et al. 2006 · Distributed practice in verbal recall tasks: A review and quantitative synthesis
- [10] Metcalfe 2017 · Learning from errors
- [11] Roediger & Karpicke 2006 · Test-enhanced learning: Taking memory tests improves long-term retention
- [12] Karpicke & Roediger 2008 · The critical importance of retrieval for learning
- [13] Dunlosky et al. 2013 · Improving students' learning with effective learning techniques