Data Journalism

Here’s a sampling of links for some of my better work from the four and a half years I spent as a data journalist at the St. Louis Post-Dispatch, where I worked until August 2017. Over time, changes in the CMS could cause some graphics and maps embedded in older stories to not load properly.


As subprime auto borrowers default, collection suits pile up in St. Louis area courts (published in 2016)

Scraped data for thousands of court cases to build a dataset on a handful of very litigious local subprime auto lenders.

Photo by Post-Dispatch photographer David Carson.

Evictions in St. Louis remain stubbornly high despite improving economy (2016)

For this story, I gathered, analyzed and mapped data for tens of thousands of eviction-related lawsuits in St. Louis.

Prominent developer linked to LLCs that abandoned hundreds of properties in north St. Louis (2015)

Dug through lots of datasets containing property records, back taxes, building code violations, unpaid city fines and business filings for this investigation on a prominent St. Louis developer who abandoned hundreds of properties in struggling neighborhoods and then "donated" the assets to an unsuspecting homeless shelter in Georgia.

Photo by Post-Dispatch photographer Christian Gooden.

Titlemax is thriving in Missouri, and repossessing thousands of cars in the process (2015)

An investigation into a car title lender that was repossessing 9,000 cars a year in Missouri.

Without contribution limits, Missouri politicians raise far more cash from far fewer donors (2016)

Used python for this analysis of more than a million historical campaign finance records.

Years into the recovery, unwanted properties are still piling up at St. Louis County tax auctions (2016)

For this story, I analyzed historical tax sale data, and to get more detail on individual tax sale properties, I scraped thousands of records from the St. Louis County real estate site.

Visualizations and apps

Analysis of the change in single-family home value by St. Louis County census tracts and school districts

Used R and JavaScript to analyze and visualize 12 years of property assessments in St. Louis County.

Analysis of car break-ins in the City of St. Louis

An analysis of local donors in the 2016 presidential election

I analyzed raw federal campaign finance data to map donations to Donald Trump and Hillary Clinton by ZIP code.

St. Louis school guide app

I did most of the back end work on the original version of this Django app, built with Post-Dispatch developer Josh Renaud and former developer Andrew Nguyen.

The Post-Dispatch government salaries app

I led the development the original version of this Django app, which involves gathering and combining data from dozens of cities and agencies. I worked on this with Andrew Nguyen and Josh Renaud.

How poverty relates to performance in St. Louis schools

An analysis of student test score data from the Missouri Department of Elementary and Secondary Education.

How the MLS stadium vote failed

I mapped out ward-level election results from the St. Louis Board of Election Commissioners after voters rejected financing a soccer stadium (St. Louis has since started building a stadium, albeit not one that is publicly financed).

The Post-Dispatch crime app

I wrote the Python scripts that downloaded, processed and analyzed the St. Louis city and county raw crime data, which was then visualized by Josh Renaud.

The Post-Dispatch campaign finance app

Although this was published after I left the Post-Dispatch, I conceived the idea for this app and contributed heavily to its initial development. This was built using Django and provides searchable political donation data for candidates and officeholders for statewide, Congressional and state legislative offices in Missouri. It was completed by current Post-Dispatch developer Josh Renaud and former developer Andrew Nguyen.

A timeline of how St. Louis gained control of properties from a controversial developer

For another reporter's story about how the city fought to get control of parcels on the future site of a federal agency that employs thousands, I analyzed property records to show how parcels changed hands over time.

Map: Section 8 vouchers are overwhelmingly used in poor areas

Analyzed data from the Census and Housing and Urban Development for a story about the concentration of subsidized housing in Ferguson.