Some favorite projects

This election map is a lie. So we made new ones

Cartograms of the 2016 election.

This is how Washington tries to keep election hackers at bay

Culmination of over a month of reporting on election security in Washington state.

Piling up the green in the race for Washington's public lands commissioner

Analysis of donors to an obscure statewide race in Washington.

Sound Transit 3: The money rolls in, on both sides

Update on a major local initiative, and a silly quiz.

Not how it usually works: When campaigns give money back to their donors

Short essay about how to account for refunds, and other issues with campaign finance data.

$14M fuels initiatives on the November ballot. Who's behind the money?

Analysis of donors to 2016 initiatives.

Some of WA's biggest Republican donors aren't from around here

Geographic analysis of Washington state GOP donors.

How do you feel about this, Seattle? Sound Transit donors often get big contracts

Deep dive into spending in a major local initiative.

Lead testing not in problem areas

Mapped locations of water main replacements in Chicago from 2010-2016.

Every Obama State of the Union

Charting all the applause during each of President Obama's eight State of the Union speeches.

Garry McCarthy crime stats retrospective

After the firing of Garry McCarthy as Superintendent of Chicago Police, put together a neighborhood-level look at violent crime statistics before and during his tenure.

Speed cameras investigation

Along with reporter David Kidwell, spent six months investigating the largest automated speed camera system in America. Found millions of dollars in questionable tickets issued to drivers, and potentially over a hundred thousand tickets issued in error.<br><br>Helped build searchable database for readers of over 2 million tickets, flagging those that raised questions, along with overviews of every camera in the system.

Bears win probability

Live (near-real-time) win probability calculator. Implemented the probability algorithm based on publicly available methods and data sources, generating play-by-play estimates of the Bears' likelihood of winning a game as the game progresses.

Looking across the lake

Personal reflection on the vastness of Lake Michigan, having grown up alongside such an impressive and anonymous natural body. The piece, about just how far you can see, was originally intended to be an interactive exploration of the lake's size, but it wound up in print as well.

Rahm Emanuel's donors

Visualization built in collaboration with the Tribune's political reporters and editors. The piece depicts the largest donors to Rahm Emanuel's campaign fund, and combines their donations with lists of meetings, board members and other outside sources to compare what companies and individuals gave to the mayor, and what the mayor gave them.

School budget changes

Searchable database of the 2015 budget's impact on every public school in Chicago.

Officer-involved shootings

Analysis and visualization of 244 investigations into officer-involved shootings in Chicago by IPRA, the Independent Police Review Authority. IPRA sustained allegations against officers in 5 of the 244 cases.

Greece or Illinois: a basket-case quiz

Wrote most of the questions, answers and code for a quick little quiz on two economic catastrophes in the news at the time. I'm sure by the time you're reading this, they'll both have figured it all out though.

Grateful Dead in Illinois

Map and setlist history of every show the Grateful Dead ever played in Illinois.

Blackhawks shot tracker

Live (near-real-time) locations of all shots taken during every game of the Blackhawks' 2015 Stanley Cup-winning playoff run.

Lead poisoning

Collaboration with reporter Michael Hawthorne to depict how Chicago's rates of household lead poisoning have changed over time and by neighborhood.

Runoff precinct map

Precinct-level map of results in the April 7, 2015 mayoral runoff between Rahm Emanuel and Jesus "Chuy" Garcia.

2014 elections

Election-night results websites tracking national, state, local and regional elections. Under the hood, we were integrating results information from Reuters, a variety of county websites, and spreadsheets entered by hand on election night. We simultaneously rolled out versions for partner papers in Orlando, South Florida, Baltimore and Hartford in addition to Chicago.

Keep your data safe from a supernova

Column for Blue Sky, a tech-friendly business section online and in the paper, about the math behind - and importance of - strong passwords in a post-Snowden era.


Automated account that tweets any large ($1,000+) campaign contribution made in Illinois. Followed by reporters and staffers affiliated with most major news organizations and political campaigns in the state. Responsible for alerting, within seconds of their disclosure, several of the largest contributions in Illinois history.

Prep sports

Spreadsheet-based system for prep sports scoreboard. Only administration interface is the spreadsheet; sports desk enters scores and cron jobs update the scoreboard accordingly. My colleague Andy Boyle wrote up the project <a href="">here</a>.


Mongodb-based interface for Breaking News desk to update data on shooting and homicide victims in Chicago. Feeds regularly-updated apps tracking <a href="">shootings</a> and <a href="">homicides</a> in Chicago.

My commute

GoPro video of my commute to work one summer morning, attached to live-updating Leaflet map and a (small) bit of textual narration at some interesting moments.

Campaign finance maps

A first take at doing maps of significant donors and campaigns by ward in Chicago, just for fun (i.e., not for work or official publication).