Why you forget problems, and what to do about it
Most people solve a hundred problems and can reproduce a dozen. The problem is not effort — it is that a single solve leaves almost nothing behind.
The forgetting is normal
Recall of something learned once drops fast and keeps dropping. Re-reading your old solution feels like remembering, but recognising a solution and producing one are different abilities, and only the second is tested.
Retrieval, not review
The thing that makes it stick is trying to produce the answer before you see it — even when you fail. A failed attempt followed by the answer beats reading the answer twice. That is why looking things up early is so expensive: it skips the part that does the work.
Spacing beats cramming
The same hour spread over four days beats an hour in one sitting, by a lot. The interval should grow: a problem you solved cleanly should come back in a week, then a month; one you needed heavy hints for should come back tomorrow.
What to schedule
Not the problem — the pattern. Remembering that two-sum uses a hash map is nearly worthless; remembering that "inner loop is a lookup" means "reach for a map" is the transferable part. When a problem comes back, try to say the trigger before you say the solution.
How this tool does it
Every finished attempt is graded into a review card — what you got, what you missed, how much help you took — and schedules itself. A clean solve returns in a week and then at growing intervals; one that needed a level-4 hint returns tomorrow. You do not maintain the queue; you just answer what it puts in front of you.