←back to thread

178 points henwfan | 1 comments | | HN request time: 0.362s | source

I built AlgoDrill because I kept grinding LeetCode, thinking I knew the pattern, and then completely blanking when I had to implement it from scratch a few weeks later.

AlgoDrill turns NeetCode 150 and more into pattern-based drills: you rebuild the solution line by line with active recall, get first principles editorials that explain why each step exists, and everything is tagged by patterns like sliding window, two pointers, and DP so you can hammer the ones you keep forgetting. The goal is simple: turn familiar patterns into code you can write quickly and confidently in a real interview.

https://algodrill.io

Would love feedback on whether this drill-style approach feels like a real upgrade over just solving problems once, and what’s most confusing or missing when you first land on the site.

Show context
bochoh ◴[] No.46205971[source]
Solid platform - clean and useful for algorithm practice.

Quick suggestions:

  - GitHub OAuth would feel natural for devs.
  - Broaden language support (C#, TypeScript, Ruby).
  - Add dark/light mode toggle for comfort.
Excited to see where it goes — thanks for building.
replies(2): >>46207749 #>>46207833 #
sumnole ◴[] No.46207749[source]
Another to add to the list: Allow flexible naming. For example, drilling the two sum problem requires the user name the hashmap prev_map, but I feel memorizing this sort of stuff detracts from the lesson.
replies(1): >>46207842 #
1. henwfan ◴[] No.46207842[source]
Good point, and that matches other feedback I am seeing.

You are right that in the current version the checker is still too literal about names and structure. In two sum for example it nudges you toward my map name instead of letting you use your own, which is not what I want to optimise for once you already know the idea.

The plan from here is to keep an editorial mode for people who want to follow the exact solution and add a more flexible mode that accepts your own names and structure as long as it is doing the same job. Over time the checker should recognise what you actually wrote and adapt its objectives and feedback to that, instead of forcing everyone into one naming scheme.