Algo – Practice Data Structures & Algorithms
A NeetCode-inspired web app that helps developers systematically practice data structures and algorithms using pattern-based problem sets, detailed solutions, and progress tracking.
Overview
Algo is a NeetCode-style practice platform for data structures and algorithms.
The goal is to help developers move beyond random LeetCode grinding and instead learn
through patterns such as sliding window, two pointers, binary search, BFS/DFS, dynamic programming, etc.
The app groups problems by pattern, tracks repetitions, and encourages deliberate practice so users can build real interview-ready intuition instead of just memorizing answers.
Key Features
-
Pattern-based problem sets
Problems are grouped by core patterns (sliding window, two pointers, binary search, BFS/DFS, backtracking, DP, heaps, graphs, etc.) so users learn how to recognize when to apply each technique. -
Step-by-step solution walkthroughs
Each problem includes an explanation of the thought process: brute-force idea, optimization, time/space analysis, and edge-case discussion. -
Code in multiple languages (planned/ongoing)
Solutions focus on interview-friendly languages such as Python, JavaScript/TypeScript, Go, and Java so users can map the pattern across stacks. -
Progress tracking & streaks
Users can see how many problems they have completed per pattern, how many times they have repeated a problem set, and maintain daily/weekly practice streaks. -
Practice modes
- Warm-up set: small number of easy problems to get into flow
- Focused pattern session: practice a single pattern deeply
- Mixed review: shuffled problems from previously solved sets
-
Notes and scribbles
Users can attach their own notes, mental models, or scribbles to each problem (e.g., diagrams for sliding window, recursion trees, or DP tables).
Why I Built It
Most developers (including me) struggle with algorithms because they:
- Jump between random problems with no structure.
- Forget patterns after a few days.
- Don’t write down why a solution works.
I built AlgoDrills to enforce a better learning loop:
- Learn the pattern →
- Apply it across curated problems →
- Repeat over time with spaced practice →
- Capture notes and “aha!” moments in one place.
Technical Overview
- Pattern and problem metadata stored in a structured format, making it easy to add new problems or reorganize them into new categories.
- Clean separation between content (problem statements, explanations, code) and the UI
so the platform can later support features like:
- Personalised problem recommendations
- Difficulty / pattern filters
- Integration with external judges or code-runner services
Future Roadmap
- Built-in code editor with test cases and instant feedback
- Daily / weekly practice reminders (email / Telegram / calendar)
- Personalised study plans based on weak patterns
- Importing problems from other platforms with personal notes
- Public profile showcasing patterns mastered and streaks maintained