In the fall of 2018, I developed a combined article-visualization inspired by the previous work of tenants’ rights organizations like the Anti-Eviction Mapping Project (AEMP) and interactive visual article websites like The Pudding.

The dataset I used was a DataSF Dataset of 39.9K eviction notices filed with the SF Rent Board per SF Administrative Code 37.9(c). It had 29 categories including location, grounds for eviction, date, and more, which I used to present a story about trends in no-fault evictions and the legacy of the 1985 Ellis Act in California. No-fault evictions are named because they are due to no fault of the tenant, and while there can be valid reasons for no-fault evictions, they can also be used to force long-standing residents out of their homes and make more money off the properties (either with new development or higher market prices). The idea that the Ellis Act could undermine affordable housing was something I wanted to investigate further.

The visualization itself is built with D3, a Javascript visualization library. Rather than use a convenience library like jQuery, I worked mainly with vanilla JS.

One of the things I utilized for the visualization was a Voronoi cell mapping technique. This uses a set of anchor points to subdivide a plane into distinct regions. Each region is associated with one of the original anchor points and drawn such that every point inside the region is closer to its associated anchor than any other one. This mapping can be utilized to make a user-friendly hover by detecting which region the mouse cursor is in. This effectively lets us assign focus to the closest data point.

Technical tricks had to be balanced with the equivalent need of an engaging story, and to that end I built out a deck of “slides” with DOM elements that responded to changes in the visualization. If you clicked on a point, you could get feedback and influence what the article would talk about. Another feature I added, based on the feedback I got during halfway-point demos, was a way to look up eviction notices where you live (or at a street address you know). Texas A&M University offers a free geocoding service and API that I consumed, passing it unparsed street addresses. The service returned latitude and longitude points along with a confidence score for the match; if the score was high enough, the user could see filter evictions that happened nearby.

In the end, I was proud of the project. Being able to blend technology, data, and storytelling was something I really enjoyed!