That question is what led me to build Debugit. I wanted to try a learning format that focuses on reading and understanding existing code rather than writing everything from scratch. Each task gives you a small piece of JavaScript, a set of tests, and a bug hidden on purpose, based on common JavaScript bugs, edge cases, or antipatterns. The goal is to figure out why the code behaves incorrectly and fix it so the tests pass.
The format is based on a simple idea: debugging is an active process of understanding. When you’re trying to make sense of someone else’s code, your attention naturally shifts from syntax to behavior and logic. This is the kind of understanding I wanted to focus on.
AI changes how code is written, but it doesn’t remove the need to understand existing code. You still have to understand what it does and fix it when it breaks. I built Debugit with this workflow in mind.