About this Site
This site was largely built using a combination of ChatGPT, Gemini, and Google Antigravity starting from raw information from my CV.
The journey began in late 2024 as a group of students were exploring AI coding capabilities. I decided to try and get ChatGPT to write a website for me based on my CV. It was a total failure --- in the most basic way possible. It couldn't actually properly read my CV. Even when given the LaTex of my CV, it couldn't extract the papers. So I gave up. For a while...
I tried again in March 2025. This time, I got Replit as well. Replit was able to put together a good looking, but content free, draft of a structure for a website, but the bottleneck was again trying to extract the papers from my CV. For that I tried ChatGPT then alongside the Gemini at the time. Again, failure. But more interesting failure: claimed success along with confident hallucinations. Completely made up papers with plausible titles and coauthors. I spent hours wrangling, but experienced a lot of frustration, and no progress.
I tried yet again a few months later at the end of Summer 2025. This time, the paper list was finally extracted from the LaTeX source successfully. (Still totally bombed with the PDF.) But when I tried to ask ChatGPT and Gemini to use tools (web search and browsing) to extract the abstracts along with the DOIs for links to the papers, once again there were hallucinations. Confident hallucinations that sounded plausible, but were technically either nonsense or meaningless verbiage. And laziness. Lots of "and so on." More hours were spent trying to force the systems to actually do the work, but it was quite frustrating and I eventually gave up. Gemini in particular became extremely apologetic as it failed to do the task, only to confidently claim success later with another failure. Eventually, it admitted that it actually wasn't actually browsing the web at all because it couldn't. This experience was perhaps the software engineering counterpart of the Uncanny Valley concept from graphics/vision. The AI systems were getting close, but in a way that made me waste my time trying to get them to get closer before I finally gave up.
I finally tried again in January 2026 when I downloaded Google Antigravity and decided to use it together with ChatGPT 5.2 and Gemini 3 Pro. I prompted ChatGPT to come up with a strategy first. The strategy was decent --- to iterate back and forth with Antigravity and ChatGPT/Gemini to get the DOIs. And then the abstracts. Instead of the tool use in the browser chat interface, the agent-based tool use in Antigravity was much more successful running on my machine. Throwaway scripts were written to get the DOIs. And after two cycles of failure --- and asking ChatGPT and Gemini to diagnore the errors using their chat interfaces --- the DOIs and abstracts were finally obtained successfully. I had to manually fill in maybe 20 papers (largely older ones) where the code failed to function and had to fix about 3 errors where it got confused between Journal versions and earlier Conference versions.
With the papers' information extracted into a JSON file, it was a very fun experience to get Antigravity to write the website itself. I was largely "vibe coding" in that I wasn't looking at the code at all. Just giving high-level directions and interacting with Antigravity to get it to do the work. The result was what you are seeing here --- except for this text. The "Stories" section was initially written by Antigravity looking at my papers, and is frankly embarrassing. I'll be rewriting those myself. But overall, the advance in the quality of AI coding capabilities has been palpable.
Moral of this story: If you think GenAI tools are horrible at X, try again in a few months — measured capability can jump quickly (see AI Index 2025: SWE-bench gains and the SWE-bench leaderboards), and the best systems are increasingly better at teaching you how to use them (e.g., why scaffolding matters, Prompt Coach, Copilot prompt-engineering guidance), so it often pays to start by asking the best available assistant for a strategy to do X before you decide it still can’t.