nthtime
Drill code patterns until they're muscle memory
Write real implementations from a blank canvas. Get instant structural feedback. Repeat until you stop reaching for the docs.
Write from scratch, verify structurally
No test runners, no string matching. Tree-sitter parses your code into an AST and 12 evaluators check its structure -- function signatures, export patterns, decorator usage, JSX attributes, and more. All client-side, instant results.
Five feedback levels
Choose how much help you get. L0 is just pass/fail. L4 is a full diff against the reference solution. Start strict to test your recall, dial up when you're stuck. The feedback level is a training parameter you control.
Multi-file challenges
From single functions to complete applications with routing, models, and middleware. Scaffolded or blank canvas mode. File tree, tabs, and a real editor workspace.
Author your own packs
Challenges are portable JSON files with reference solutions, scaffold templates, and structural assertions. Validate locally, seed to the backend, and ship. No code changes needed.
Full editor experience
Monaco editor with syntax highlighting, Vim/Emacs keybindings, and autocomplete (off by default -- this is a drill). Keyboard-driven workflow with Cmd+Enter to submit.
Growing challenge library
Challenges across frameworks and languages, from beginner through advanced, each with hints and progressive feedback.