The Fields Medalist Who Vibe-Coded His 1999 Dream Back to Life
Terence Tao used AI coding agents to port 24 Java applets from 1999 to JavaScript in hours, then built a Minkowski spacetime diagram editor he had abandoned 27 years ago. His core insight: the bottleneck in software creation has shifted from writing code to specifying and verifying it.
In 1999, Terence Tao was an associate professor at UCLA. That year, he did two things: he wrote two dozen mathematical visualization applets in Java 1.0 for his complex analysis and linear algebra courses, and he sketched out an idea for "Inkscape, but in Minkowski space" — an interactive tool for drawing on spacetime diagrams in special relativity.
The first one worked. The second one, he abandoned. The code complexity was too much.
Twenty-seven years later, in July 2026, he accomplished both in a single weekend — with the help of AI coding agents.
24 Applets, 2 Bugs Found, 1 Weekend
In his blog post Old and new apps, via modern coding agents, Tao detailed the process. His old Java 1.0 applets had long stopped working as browsers dropped support for the aging plugin. He had already lamented this back in 2008.
This time, he handed all 24 applets to an AI coding agent and asked it to port them from Java to JavaScript. Hours later, every single one was functional.
The bug tally tells the real story. Tao found exactly one bug in the AI-generated code — a drag-event edge case in a complex analysis applet. But the AI found two bugs in his original code that he had never noticed. "Net wash as far as code quality was concerned," he wrote.
The agent even made unsolicited improvements. The originally monochrome Besicovitch Set visualization came back in color. The honeycomb applet he co-wrote with Allen Knutson in 1999 — a particularly tricky one to code by hand — returned with graphical upgrades.
The Dream Deferred: A Minkowski Spacetime Editor
The porting went so smoothly that Tao decided to reach for something bigger.
In 1999, he had envisioned a spacetime diagram tool — "Inkscape, but in Minkowski space." He had even started writing Java code for it. The complexity crushed the project.
Twenty-seven years later, "after a couple hours of vibe coding with an AI agent," the tool was ready. It supports 1+1 dimensional Minkowski spacetime diagrams: events, inertial worldlines, light rays, simultaneity lines, observers, hyperbolas, independent Lorentz transformations for dual reference frames, and real-time calculations of energy, momentum, relativistic Doppler shift, and proper time. Natural units, c=1.
That same day, he had the agent build an interactive visualization for his newly published Gilbreath conjecture paper. A few days later, a random variable visualizer followed.
It's Not Vibe Coding — It's Contract Work
The term "vibe coding" is misleading when applied to Tao's workflow. He is not describing things loosely and hoping for the best.
His actual process, as profiled by top10.dev: write specifications, craft test cases, review diffs, push back on suspicious outputs.
Tao explicitly frames LLMs as "junior collaborators who need a proof obligation, not a prompt." He stays in the loop throughout — the agent handles implementation, but Tao owns specification, verification, and final judgment.
His core insight: "The bottleneck in software creation has shifted from writing code to specifying and verifying it."
For someone who can write code himself, building these small tools was never about ability — it was about time investment. AI compressed the implementation phase, freeing him to focus on "figuring out what to build" and "confirming it was built correctly."
The Risk Boundary: Auxiliary Tools vs. Core Arguments
Tao draws a sharp line where AI-generated code belongs and where it doesn't.
These applets are "secondary visual aids," not core components of a mathematical argument. A bug in the visualization doesn't invalidate a theorem. For these non-mission-critical tasks, the downside risk of AI-generated code is acceptable.
"I think I may add such interactive visualizations as supplements for future papers," he wrote. "As such supplements are not mission-critical to the core of the paper, I again feel that the downside risk of using guided interaction with LLM agents to generate such visualizations is acceptable."
This boundary-setting is the most transferable lesson from his experiment. AI coding tools work best not when they replace human judgment, but when they operate in domains with clear verification criteria and bounded risk.
What This Story Is Really About
Tao's experiment matters not because "a Fields Medalist vibe-coded some apps" is a fun headline. It matters because it reveals a structural shift in who gets to build software.
Historically, turning a technical idea into working software required two distinct capabilities: deep domain knowledge (knowing what to build) and engineering skill (knowing how to build it). AI coding tools are eroding the second barrier.
Tao doesn't lack engineering skill — he can write code. But even for him, AI enabled projects that had been sitting on the shelf for 27 years because the implementation cost was too high relative to the payoff. For researchers, educators, and content creators with less engineering background, the implications are even larger.
The real revolution of AI coding tools may not be making professional developers faster. It may be giving domain experts — people who know exactly what they want to build but lack the traditional engineering toolkit — the ability to turn ideas into running software for the first time.
Twenty-seven years after sketching it on paper, Tao's Minkowski spacetime diagram editor came to life in a few hours. This is not a story about AI replacing humans. It's a story about AI helping humans finally ship the ideas they put down too long ago.