Intermediate typing test
Real functions with branching, loops and the usual punctuation load.
0 wpm100% acc0sstart typing…
function debounce(fn, delay) {
let timer;
return function (...args) {
clearTimeout(timer);
timer = setTimeout(() => fn.apply(this, args), delay);
};
}
Intermediate typing practice
Intermediate code typing practice with realistic functions and control flow. Real functions with branching, loops and the usual punctuation load.
Every keystroke counts toward your WPM, accuracy and consistency. After each run, the heatmap highlights the exact keys to drill next — so your practice always targets your real weaknesses.