Competitive JavaScript debugging arena
Ship fixes. Hunt bugs. Level up JavaScript.
A competitive debugging arena where every broken function is a bounty. Sharpen your skills, earn XP, and climb the leaderboard.
BUG #2041 · HARD · 01:42+420 XP
function createCallbacks(n) {
const callbacks = [];
for (var i = 0; i < n; i++) {
callbacks.push(function () {
return i; // ← bug lives here
});
}
return callbacks;
}Bug Report
Each callback returns the same value instead of its own index. Closures capture a shared loop variable.
✓Basic length 3
✓Length 1
✕Length 5
How It Works
Four steps from bug report to bounty. No setup, no fluff — just pure debugging.
Step 1
Receive the Bug
Get a realistic bug report and intentionally broken JavaScript.
Step 2
Investigate the Code
Read the report, open Monaco, and hunt the root cause.
Step 3
Fix & Test
Run hidden tests in a secure sandbox until green.
Step 4
Claim the Bounty
Submit before the timer, earn XP, keep your streak.
Challenge Categories
Master the full spectrum of modern JavaScript, one bug at a time.
Async & Promises
Arrays & Methods
Closures
Objects
DOM
Functions
Event Loop
JavaScript Fundamentals
12,840+
Bugs Fixed
2.4M+
Total XP
47
Best Streak
78%
Accuracy
Ready to claim your first bounty?
No account required. Jump straight into a challenge and start debugging.
Start Hunting