Tidy Tree

A radial tidy tree visualization of advisor-student relationships in the Iowa Writers' Workshop poetry program.

MADE WITH

D3.JS AND OPUS 4.5

BASED ON THE TIDY TREE VISUALIZATION ON OBSERVABLE

Figure 1: Multi-generational advisor-student lineages in the Iowa Writers' Workshop poetry program. Click on an advisor (green label) to display associated students (orange labels). Data Source: The Program Era Project.

Over Before It Began

Dec. 1, 2025

I was creating infographics on poetry cultures using Tableau when I remembered why I don’t rely on it much for my research. It’s excellent for statistical visualizations, and you can use it to build some of the prettiest dashboards. When it comes to designing visualizations outside Tableau’s templates or dealing with hundreds or thousands of rows, however, it just feels wonky.

I enjoy working with the messiness of datasets, and I want my audience to share that experience. Since the field of analytics and visualization is still new to most of us, a visualization that lays out all the data points helps illustrate the process that led to the insights. In other words, visualizing a dataset isn’t just about showing your work—it’s also a fun way to teach others how to read these visualizations.

As I was working on the Program Era dataset, housed in the wonderful Post45 Data Collective, I couldn’t get the layout I wanted using Tableau’s extensions, and Tableau couldn’t display all the rows either. After a couple of hours of hair-pulling, I gave up on Tableau and went back to making custom visualizations using good old D3.

Thanks to Claude’s Opus 4.5, creating the tree diagram above was effortless. It not only generated the python script to restructure the dataset into a nested JSON—the format needed for tree diagrams—but also produced impeccable D3 code. After six hours of vibe coding and burning through my bonus credits on Kilo Code, I finally had the diagram I wanted. The next day, I used Sonnet 4.5 to refine the D3 interactions and finalized the visualization shown above. My time with Opus 4.5 was short-lived, but I was quite impressed with its coding capabilities.