Five Years of Being a Seattle Election Map Guy

Since 2019, I’ve been visualizing elections in the Seattle area on my Tableau Public account. It’s a hobby that I’ve been proud of, and it’s opened some unusual doors for me.

The origin of my “map guy” story has little to do with elections. Five years ago, I was selected for the second (and, as far as I know, final) Tableau Mission Project. Two of my colleagues and I flew to Denver to work with Metro Denver Homeless Initiative (MDHI) to help them build up a culture of data analytics and visualization. This experience was my proudest moment during my 7 years at Tableau. To be clear, this wasn’t volunteer work for the sake of photo opportunities; our team worked mainly from MDHI’s offices in the Five Points neighborhood, learning about the data that they get from their homeless management information systems (HMIS) from service providers throughout the city and county of Denver. HMIS’s data dictionary alone is over 100 pages long; coupled with all the other resources that the Department of Housing and Urban Development publishes about HMIS, our team had to learn a lot quickly. We built powerful dashboards to answer difficult questions using a large amount of sensitive personal data. I had to learn a lot about data preparation, calculations, and best practices about visualization. It helped that I worked with people who had college degrees and books published about these subjects.

During my stay in Denver, Seattle held an odd-year election for City Council members, many other offices, and a series of ballot initiatives, including I-976, a limit on motor vehicle taxes and fees sponsored by a notorious activist. I had just moved to a new council district, and I wanted I-976 to fail, so I watched the results with great interest — and when I-976 passed, I wasn’t happy. A few days later, I noticed that King County Elections published election data at the precinct level, along with shapefiles to draw precincts on a map. (A precinct typically has no more than a couple hundred voters; in densely-populated areas, this can be smaller than a city block.) In my hotel room in Denver, I put my newly strengthened Tableau knowledge to work, creating visualizations to show the winner in every precinct in every race, even races that I knew nothing about.

I shared my work on Tableau Public, which hosted interactive visualizations, and posted a few screenshots on Twitter. They got some attention, and a little bit of criticism. (Note to aspiring election visualizers: be very careful who you color as red and blue; some people are very sensitive about these colors.) Capitol Hill Seattle, a blog for my former neighborhood, published an article that embedded a visualization of the shift in votes in District 3 as they were counted from election night through the final tally, as incumbent Kshama Sawant overcame a significant deficit at first to win reelection by a commanding margin. They later used extreme close-up visualizations to identify East Republican Street, and the “E Republican line”, as a critical boundary between Seattle’s progressive and conservative voters. The Urbanist, a blog that advocates for housing density, mass transit, and neighborhood walking and biking accessibility, compared my visualizations in 2019 to Seattle’s long and unfortunate history of exclusionary zoning. By the end of 2021, The Urbanist was referring to me as “Cartographer Jason Weill”, although I wasn’t otherwise employed or paid by the publication.

My visualizations have broken the ice with a very broad array of people. I’ve received compliments and kind messages from politicians and journalists across Washington’s political spectrum; no matter your opinions on the issues, democracy relies upon a trustworthy and reliable election system as a source of truth. In early 2022, The Urbanist invited me to a conference call with the campaign of a candidate who had narrowly lost their election the previous autumn. To my amazement, the candidate themself joined the call, and they asked me why they had lost the election. I said that I wasn’t qualified to make a political evaluation, but I was happy to dive into the per-precinct data to tell them precisely where they lost their election. An organizer for another campaign, to which I donated my time and labor, asked me to run some queries using Tableau to identify precincts that had all voted a particular way in four different elections, to help identify potential “swing” precincts for an initiative that ultimately passed. When I had my first video call with Dan Strauss, my city councilmember who was first elected in 2019, he immediately recognized me for my “infographics”; I corrected him by saying that I didn’t make those, but rather interactive data visualizations. We’re still on speaking terms.

I still enjoy making these election visuals, and as long as Tableau Public, Twitter, and Mastodon continue to let me broadcast them for free, I still want produce them. It takes under an hour to visualize about half a million records’ worth of results, and most of that is time spent making sure that every candidate is an appropriate color on their map. I’ve also met other people who are interested in election visuals, such as Andrew Hong, a master’s student at Stanford, who has built systems to publish sharp-looking web-based visuals even more quickly than I can. The election viz community is a small, nerdy, and quirky one, but despite all the national rancor about election integrity, I’ve found almost totally positive sentiment in the Seattle metro area.

What’s next? While I still have a full-time job, it’s tough for me to totally remake my visuals, but as a contributor to Project Jupyter, I feel obligated to at least try visualizing elections in a Jupyter notebook. I have one that uses folium, GeoPandas, and other open source software to make visuals, but the project’s output doesn’t look quite as sharp and polished as my Tableau visuals do, so I haven’t totally migrated yet. I’ve also thought about using an AI language model to programmatically generate commentary in real-time, but as with most AI projects, I’d need to do a lot of editing and additional data prep to make the analysis readable and interesting. (Nobody wants to read analyses with exact precinct names such as “SEA 43-2033”, for example.) At least for the time being, it looks like Seattle is going to continue having a lot of elections, with a lot of data for me to feast on.

Disclosures: When I first published this article, I owned shares of Salesforce, Tableau’s parent company, and I worked for and owned shares of Amazon. This article does not represent the views of either Salesforce or Amazon. At time of publication, I was a financial supporter of Capitol Hill Seattle and The Urbanist. This article does not represent the editorial views of either publication.

Updated: