Projects
Research software
-
MIPVerify.jl
I wrote this Julia package for my research on verifying neural networks. For a limited change to an input image, the code can prove that the network’s predicted category stays the same – or find a counterexample.
Tools
-
Session Atlas
I built Session Atlas to understand how I use my AI coding tools. It brings my Claude Code and Codex sessions into one timeline, puts my inputs center stage, and lets me revisit agent responses. It also shows fun statistics regarding my usage (including estimated cost at API list prices). Best of all, everything runs locally.
Fun
-
Hay Day Tileplacer
I made this as a gift for my mum, who enjoys playing Hay Day and has a lot of fun planning decorations for her farm. It previews how the game’s decorative tiles connect, allowing her to try out a layout before building it.
-
SF Sunset Watch
I love photographing San Francisco’s sunsets, but nothing is worse than clearing an evening only to watch the sun vanish behind a layer of low cloud. After one such evening at Grandview Park (go if you haven’t been!), I built a page that shows the sky from several cameras and predicts how beautiful each evening’s sunset will be. (Yes, the predictions come from AI.) You can compare past predictions with photos of the actual sunsets to see how good they were.
-
AP Poll Tracker
I have complicated feelings about college football, from athlete health and CTE to the upheaval of the transfer portal and NIL. Still, every fall I look forward to Sundays at 11am PT, when the AP Poll reshuffles after the previous day’s chaos. This chart of every poll since 1989 reminded me how dominant Georgia was in 2022, how disrespected Arizona State was in 2024, and how rare Clemson’s 2025 collapse was.
-
Teleport Challenge Leaderboard
I’m taking part in the Teleport Coding Challenge, a contest to port NetHack (all 442,901 lines of C and Lua!) to JavaScript using coding agents. This leaderboard charts every team’s score over time, so I can compare my progress with other participants’ (many of whom I have plenty to learn from). For a while, I watched it like a hawk.
-
Western States 100
The 2026 Western States 100 was one of the fastest on record: both course records fell (four men beat the previous men’s record!), and the tenth woman’s time ranks 16th among women’s finishes ever. I built this dashboard while watching the first finishers come in to grasp the size of the leap at the top of the field. Then, I had fun digging into the stories of some of the other finishers.
-
Tennis Rankings Tracker
This chart plots the top 150 of every weekly ATP list since 1973 and every WTA list since 1984. Did I build it to see how dominant men’s tennis’s Big Three were in their prime? To watch Elena Rybakina finally end Aryna Sabalenka’s two-year reign at No. 1? Or was I just curious how little guidance Claude Code would need to build a tennis rankings site if I pointed it at the code for AP Poll Tracker? You’ll never know…
-
Chess Ratings Tracker
A shameless copy of the Tennis Rankings Tracker, this time charting the top 100 on every FIDE rating list since 1971. Even though I built it purely for fun, I did end up learning a bunch about chess ratings: for example, after a seemingly inexorable rise from the 1980s to the 2010s, the rating it takes to make the top 100 on both the Open and Women lists has been slipping since 2022.