~/projects/1337.study

1337.study

> LeetCode studying platform

1337.study is a spaced-repetition-based LeetCode studying platform. Using the SuperMemo 2 algorithm, it optimizes the review process by scheduling problems at increasing intervals, optimizing material retention. The platform tailors practice schedules to individual performance, ensuring effectiveness for learners of all skill levels.

The frontend is a SPA made with React Router in declarative mode. LeetCode has no public API, so a Playwright-based scraping approach was used on the backend to gather problem set questions.

Status:
V1 complete
Timeline:
2 weeks
Role:
Fullstack Developer
Team:
Solo Project
1337.study

[Features]

Client-side Persistence

1337.study doesn't rely on the server to store user progress. Instead, question properties are stored using localStorage with Zustand's persistence middleware.

SM-2 Algorithm

SM-2 is a popular spaced repetition algorithm, famously used by the flashcard program Anki and originally used in SuperMemo 2. Spaced repetition intervals are determined using my TypeScript implementation.

LeetCode Scraper

LeetCode doesn't provide a publicly accessible API for study plan questions. To support study plan imports, I used a scraping approach to extract problem information from public pages.

React Router

React Router in declarative mode was used to handle the required routes for this single-page application.