Article3 min read

Arms Control Wonk Version 5

V1: 2004 | V2: 2005 | V3: 2010 | V4: 2015 | V5: 2026

Looks like V5 took me as long as V1–V4 combined. So see you again in 2048?!

Welcome to the new wonk. This update shares a goal with the last one 10 years ago: finding ways to make a massive archive of articles and podcasts more accessible. How do you do that?

New “related” posts now sit at the end of every article. We embed the site’s content with a machine learning model and recommend the closest vectors, which means posts are matched on meaning, not keywords. Then we clustered those vectors to find common topic groups, which in turn became collections and reading lists. Pretty cool.

To apply the same system to podcasts, we first needed transcripts. I ran a local, open-source speech recognition model on all 325 episodes, then used a language model to identify and label speakers. Once we had good transcripts for each episode, the same embedding pipeline we used for articles could produce meaningful topic groupings here too. And what’s related to an article might now be a podcast episode, and vice versa. Crossover.

Full transcripts we can display on the site fell out of this process. So did the ability to connect podcast guests to every episode they appeared on. And since many podcast guests also write for the blog, their author and guest pages now link to both. Along the way, we recovered 105 episodes that had never been posted on the site, and we unearthed the inaugural episode, previously thought lost to time.

That feeds into the project’s second goal: giving the ACW podcast a first-class home of its own, which it very much deserves after a ten-year history and so much content. There’s now an on-site player that persists in the footer as you navigate the rest of the site. And the transcripts aren’t just readable. They’re searchable across the whole site, and each result links to a timecode that starts the player at that exact moment.

For the visual redesign, I leaned hard into the editorial minimalism we’ve been chasing this whole time. I’m pretty proud that V4 held up visually for 10 years. I’d like to think the choices here are solid enough to go another 10.

Then there are the unglamorous parts, which were most of the work. The site moved to its own server, and two decades of legacy were cleaned out of the database. Page loads are optimized. Bandwidth use is minimized: the heaviest image post went from 70 MB to 2 MB (looking at you, Pyongsan uranium mill).

***

In 2015, Version 4 of ACW took 120 hours of my time (and I had help). When Jeffrey asked me in 2025 if I’d consider another wonk refresh, I hesitated. I didn’t think I could do it. And I was right.

How quickly things changed in 12 months.

Enter Claude Code. No one I know writes code by hand anymore. It’s a weird time, and we’re all still working out what it means as a society. What does it mean for this website? It means I was free to focus on what I believe makes a website great no matter the code behind it: insane attention to detail at every level. I still put 40 hours into this, but what we built is something I couldn’t have done in 120 hours, or even 240.