██████╗ █████╗ ██╗██╗ ███████╗███████╗████████╗ ██╔══██╗██╔══██╗██║██║ ██╔════╝██╔════╝╚══██╔══╝ ██║ ██║███████║██║██║ █████╗ █████╗ ██║ ██║ ██║██╔══██║██║██║ ██╔══╝ ██╔══╝ ██║ ██████╔╝██║ ██║██║███████╗███████╗███████╗ ██║ ╚═════╝ ╚═╝ ╚═╝╚═╝╚══════╝╚══════╝╚══════╝ ╚═╝
A terminal-based spaced-repetition app for LeetCode, built with Bubble Tea. Track the problems you've solved, review them on an SM-2 schedule, and import your existing LeetCode submissions.
- Spaced Repetition Scheduling — Uses the SM-2 algorithm to calculate optimal review intervals based on how well you remember each problem.
- LeetCode Integration — Authenticate with your LeetCode session cookie to import problems you've already solved.
- Problem Presets — Quickly load curated problem lists (Blind 75, Grind 75) or import your own custom JSON list.
- Local Persistence — All data (problems, review history, session cookie) is stored in a local SQLite database (
daileet.db).
- Go 1.26.2+
git clone https://github.com/0b10headedcalf/daileet.git
cd daileet
go build -o daileet ./cmd/daileet./daileetThe first time you run it, a daileet.db SQLite file will be created in the project root.
To import your solved problems, you need to provide your LeetCode session cookie:
- From the main menu, select "Log In With LeetCode".
- Press
oto open LeetCode in your browser. - Log in to LeetCode if you aren't already.
- Open your browser's developer tools → Application (or Storage) → Cookies →
leetcode.com. - Copy the value of the
LEETCODE_SESSIONcookie. - Paste it into the terminal prompt (supports bracketed paste) and press Enter.
Once saved, the menu will show "Logged in to LeetCode".
| Option | Description |
|---|---|
| Due Problems | Problems scheduled for review today (or overdue). Select one and press Enter to review. |
| See Previously Solved Problems | All problems with at least one review, sorted by most recent. Shows repetition count and ease factor. |
| Manually Edit Problem List | Browse, add (a), or delete (d) problems. You can add any LeetCode problem by its title slug (e.g. two-sum). |
| Log In With LeetCode | Paste your LEETCODE_SESSION cookie. |
| Import My Solved Problems | Fetches every problem you've solved on LeetCode and imports them as reviewed items. |
| Presets | Load the Blind 75 or Grind 75 lists, or import a custom JSON file of title slugs. |
| Clear All User Data | Wipes all problems and the stored session cookie. Use for testing. |
When you select a due problem, the Review screen shows:
- Title, difficulty, pattern, and URL
- Last reviewed date, repetition count, and ease factor
Rate your recall with:
1— Again (reset interval)2— Hard (short interval)3— Good (standard interval)4— Easy (longer interval)
Press esc to cancel, q to quit.
Daileet implements the SuperMemo-2 (SM-2) algorithm:
- Each problem has an ease factor (default 2.5), repetition count, and interval.
- Grading a review adjusts the ease factor and calculates the next due date.
- Problems start as
new, becomereviewafter the first successful review, and stay on schedule forever.
MIT