A web application that helps users retain and master LeetCode problems through a spaced-repetition learning system. The app intelligently schedules problem reviews, tracks progress over time, and provides personalized insights to help users identify weak areas and maintain consistent practice.
Built for anyone who wants to practice algorithmic problem-solving efficiently, with a focus on learning retention, not just completion.
The LeetCode Recall Tracker is designed to make technical interview prep smarter and more sustainable.
It uses a spaced-repetition algorithm (similar to flashcard systems) to schedule problem reviews at optimal intervals, so you focus more on problems you’re likely to forget and less on the ones you’ve mastered.
- User Authentication – Google/GitHub OAuth with personalized user profiles
- Problem Management – Add problems by URL or ID, set difficulty, tags, and track status
- Spaced Repetition – Adaptive scheduling (1d → 3d → 7d → 14d → 30d) for long-term retention
- Progress Dashboard – View stats, streaks, and difficulty breakdowns
- Notes – Save quick thoughts or solution explanations per problem
- Reminders – Get daily digest emails or push notifications to stay on track
- Auto-import LeetCode problems via profile scraping
- Hints mode and hidden notes until reveal
- Calendar view for upcoming reviews
- Analytics for weak topic identification
- Installable PWA for mobile/offline access
Frontend: React + TypeScript (Vite)
UI: Tailwind CSS + shadcn/ui
Routing: TanStack Router
State Management: TanStack Query
Charts: Recharts
Backend: Firebase (Auth, Firestore, Cloud Functions)
Deployment: Vercel / Netlify
Make sure you have the following installed:
- Node.js 18+
- npm, yarn, or pnpm
- A Firebase account
-
Clone the repository
git clone https://github.com/<your-username>/leetcode-tracker.git cd leetcode-tracker 🛠️ Setup Instructions
-
Run the Setup Script ./scripts/dev-setup.sh
-
Configure Firebase
Follow the instructions in docs/FIREBASE_SETUP.md
to set up authentication and Firestore for your project.
- Start the Development Server cd frontend npm install npm run dev
Your app will be running at http://localhost:5173 by default.