What they did
Tetsuo Tanaka, who teaches software at a university after two decades in industry research, built JSVisualizer, a web app that steps through a JavaScript program and shows it in 12 views, plus the JSInterpreter it runs on. He wrote no code. He gave Claude Code natural-language instructions, kept project rules in CLAUDE.md and had design decisions recorded as ADRs. His loop was to describe a new feature in broad strokes, try it, and give specific instructions when something felt wrong. He used plan mode to reject approaches before code existed, and asked Claude what a feature was for when its value was unclear.
How it went
By November 2 the visualizer had 147 commits and 48 ADRs, and the interpreter 52 commits, from projects started in late May. The tool has been used in a first-year class since September 30. Claude's first plan for stepping backward replayed the program from the start; Tanaka rejected it and proposed storing every step's state, which Claude adopted and named as omniscient debugging. An unclear chart was rebuilt as a flame chart after he questioned it. A mistranslated tab name went unnoticed for four and a half months until class use exposed it.
Worth knowing
He has read almost none of the code and left the test cases to Claude without checking their coverage, so correctness rests on his own use of the tool. Recording every step up front caps programs at 50,000 steps, which is fine for small teaching examples. Giving the reason with a request, such as matching his course materials, led to better changes.