Nudge
The shape of the problem in everyday words, plus one leading question. No technique, algorithm or data-structure names at all.
Recall is a LeetCode tutor that refuses to give you the answer. It reads your own submission history once, builds a skill map from it, and anchors every hint to a problem you personally solved.
Add to Chrome — freeReal screens from the Chrome side panel. Open any problem on leetcode.com and Recall shows the problems in your own history that share its shape, then hints against them. It never hands you the solution.

Two problems from your own history, with the dates you solved them and how many attempts each took.

Paste a token once. Code sharing is a toggle, off by default. Delete everything in one click.
Recall reads your LeetCode history once (6 to 8 minutes for a large account) to find the problems you already solved that relate to the one you are on.
Recall reads your public profile, your submission list and judge output (your code only while the popup toggle is on), stores them in the developer's database, and uses Gemini or Anthropic under paid API terms to word hints. No LeetCode cookies or passwords leave the browser. "Delete my data" in the popup wipes everything instantly. Your token is a password.
What is read, where it goes and what is never touched, before anything is synced.
Keep the LeetCode tab open and visible. You can close this panel; the sync resumes where it stopped.
Read from your own logged-in tab, one request per second. The cursor is durable: close the tab and pick up later.
Submit and fail, and the tutor jumps straight to diagnosing your real failing test. Never the fix.
Every hint cites a problem you actually solved, with the date and the attempt count. Not "think about dynamic programming".
Four rungs, from the shape of the problem in plain words down to blanked pseudocode. You cannot skip to the bottom.
A deterministic guard strips code below rung 4, drops citations you were not offered, and makes every reply end with a question.
Attempt counts, patterns and recurring mistakes are computed from your stored submissions by ordinary code. The model only words the sentence.
Submit and fail, and Recall jumps straight to diagnosing that failing test case. You should not have to ask twice.
Code sharing is off by default and works without it. One click deletes everything Recall holds about you.
Sign in to the Friction web app, copy your token, and paste it into the popup once.
Recall reads your solved list and submission history from inside your own browser session, one request per second.
The side panel shows the problems in your history that share the underlying idea, and why each one is related.
The hint is written against your history, your latest failed test case, and the code in your editor.
The shape of the problem in everyday words, plus one leading question. No technique, algorithm or data-structure names at all.
Names the pattern family and maps it onto one problem you solved, but only as far as the state. No transition, no recurrence.
A diagnosis of your actual failing test: the class of case, or the place the reasoning breaks. Never the fix.
One short pseudocode skeleton, at most twelve lines, with the key lines left blank for you to fill in.
The rung is decided by a pure function of stored facts and never by your message. A failed submission in the last thirty minutes raises the floor to diagnostic depth on its own.
Sharing your source code is off until you turn it on, and Recall works without it: hints still come, anchors just cannot point at your own past code. Turning it off again deletes every stored code row immediately.
Your LeetCode password and cookies never leave the browser. The extension talks to exactly one server, with your token. Hints are generated under paid API terms and your data is not used to train models.
Delete my data in the popup removes every record Recall holds about you, history, skill model and hint conversations, in one action. Full detail in the privacy policy.
Chrome 116+ side panel, a service worker, and MAIN plus ISOLATED content-script worlds
A standalone backend of routes, services and pure domain code
Eleven lc_ tables in one additive migration, sharing Friction's database
Two interchangeable providers behind one factory, JSON-schema output, one retry
Fourteen ordered rules on every reply: no code, no unoffered anchors, one question
A hand-checked map across 20 problem families, verified live against leetcode.com
25 suites and 708 tests over the domain, guard, providers and routes
Deployed apart from Friction, with a health check and a cold-start banner in the panel
No. You never get working code below level 4, and level 4 is just a skeleton with the important lines left blank. If any code slips through early it is stripped out before you see it. You do the solving.
Other extensions only see what is on your screen right now. Recall also reads your past submissions, so it can name a problem you already solved and connect it to this one. That is the difference.
ChatGPT does not know what you have solved before, and it will give you the whole answer if you push. Recall ties each hint to a problem from your own history, and the four levels are enforced in code.
No. Recall switches itself off on contest pages. That is on purpose: helping during a rated contest would make this a cheating tool, and it is not one.
Yes, free from the Chrome Web Store. There is a daily cap on hints, because each one costs money to generate behind the scenes.
Your LeetCode username, your solved list, and whether each submission passed or failed. Sharing your code is off by default. Your password and cookies never leave your browser, and one click deletes everything.
Install it, open any problem on leetcode.com and sync once. A large account takes a few minutes, and you can leave and come back.
Desktop Chrome 116 or newer. Recall is an independent project and is not affiliated with, endorsed by, or sponsored by LeetCode.