I built a spaced repetition system for Leetcode after realizing I'd "solved" 150+ problems but couldn't recall the patterns when faced with new questions in actual interviews.
The problem: Solving problems once creates the illusion of learning without actual retention. Your brain discards solutions as "one-time knowledge" unless you review them at spaced intervals.
What it does: - Automatically schedules problem reviews (1 day → 3 days → 1 week → 2 weeks → 1 month, etc.) - Adjusts intervals based on difficulty (easy problems reviewed less frequently) - Highlights overdue problems that need attention - Tracks your actual retention with notes/flashcards
Key insight: It's better to master 50 problems through 3-5 reviews each than solve 200 problems once and forget them all.
Demo: https://dsaprep.dev/tracker
I've been using this for couple of months and the difference in pattern recognition is significant. Problems that used to feel "new" now trigger automatic recognition of which approach to use.
Tech stack: React, Node.js, Express, MongoDB
Would love feedback on: - The revision interval algorithm - UI/UX for the review workflow - Pricing strategy - Whether this scratches an itch for others
Built this as a side project to solve my own problem. Happy to answer questions!