Blog
Lost and found: my 2007 ITP projects are playable again
Back in February I finally retired my WordPress site: exported everything, handed it to an AI coding agent, and had this blog running the same afternoon. Great trade — except migrations always drop something, and mine dropped some of the things I care most about: my grad-school projects from NYU’s ITP (2006–2007). The old /itp/ pages simply didn’t make the trip.
Truth is, they’d been half-dead for much longer. Those projects were Processing sketches served as Java applets inside hand-written 2007 HTML. Browsers dropped applet support years ago, so even while the pages still existed, the demos were gray boxes. The migration just made the loss official.
This month I asked the AI agents to go get them back. The recovery ran in four passes:
- Excavate. An agent queried the Wayback Machine’s CDX index for everything ever captured under my old site, pulled down roughly thirty project pages plus images, PDFs and whatever Processing source it could find, and wrote an inventory of what came back complete, what came back truncated, and what is gone for good. The full recovery report is published with the archive.
- Accept the losses. The compiled applets (
.jar) were never captured, and most of the recovered.pdesources are cut off mid-file — the archive kept only the first chunk of each. - Rebuild. Using the partial sources, my 2007 blog posts, and the project descriptions as the spec, the agents rebuilt six projects in p5.js — modern JavaScript running right in the page, no plugins. Faithful reconstructions, not line-for-line ports.
- Review. A second agent pass audited the rebuilds against the recovered sources and fixed real bugs (Pong’s court drew wrong from frame two; the Ecosystem was quietly discarding an inherited gene), put the original 2007 pages back online as-is behind a small banner, and vendored the p5.js runtime into the archive so no CDN outage can kill these things a second time.
Here they are. Click any card to play — 2007 me would not believe this runs on a phone:

Feeding Frenzy
Fish eat flies, grow, and jump higher — the rich get richer.
Nature of Code · midterm
Garden
Recursive trees with varied branch timing. Click to plant.
Nature of Code
Male Female
Two flocks, mutually attracted, trailing pink and blue.
Nature of Code
Ecosystem
Food, a mating zone, and offspring that inherit their parents’ genes.
Nature of Code · final
Pong
The classic, as ICM homework. Your mouse is the paddle.
ICM
Pop Meter
Dual amoebas sized by search volume — the original polled Google.
Processing vizThe original 2007 pages are served untouched next to each demo — applet tags and all — as the historical record, and the era posts on this blog (like Feeding Frenzy) link straight to their reconstructions.
What struck me is which parts survived twenty years. Every external dependency died: the Java plugin, the Google search API that Pop Meter charted, the hosting itself. What made it through was the plain stuff — HTML, text, source code — plus whatever the Internet Archive happened to catch. The rebuilds follow that rule: static files, the runtime vendored alongside, everything committed to the repo.
Play them all: the ITP reconstructions hub.