The Itemizer


Derek Willis


April 24, 2013

Here’s a little secret about me: I love campaign finance data.

Ok, so that’s no secret at all, and it’s probably unhealthy in some respects. But let’s face it, campaign finance data provides a rich source of information for stories, blog posts and tweets, in rough descending order of size and scope. There’s one thing that has always bugged me about how we reference campaign finance data online: the best that most of us can do when we link to a campaign filing is to link to a particular page, whether that’s a list of contributors or a summary page. Yet often we’re referencing a single transaction or line-item.

I started to think more about this after listening to David Cohn talk about Circa at the Journalism Interactive conference in February. Circa “is creating the first born-on-mobile news experience, delivering it in a format native to mobile devices, with an experience intuitive to mobile users,” and part of that means breaking down what we think of as stories into their essential components. Those usually are statements or facts of some kind that can readers into a larger story. This “atomization” of news, as David called it in his presentation, focuses tightly on the core elements of a story.

For people who work with data and love to cite it in stories, this is a good idea. It got me thinking about how we could do that for campaign finance data, where transactions are the smallest particle. What I’ve come up with, with the assistance of Aaron Bycoffe, is The Itemizer, a simple app that takes itemized records from Federal Election Commission filings and allows you to link to them. If you want to specifically reference the $1,000 that the Society of American Florists PAC gave to Nydia Velazquez, now you can.

When I say simple, I mean it. It’s a Rails 3.2 app, but it could just as easily be implemented in Sinatra, given how small it is. The anchor links are based on the transaction IDs from the filings, so there’s no need to invent unique hashes or anything. Thanks to the Campaign Cash and Fech Ruby gems, the page loads today’s filings and then constructs links to receipts and expenditures (other schedules are coming). Nothing is stored in a database - Campaign Cash pulls in the day’s filings from The New York Times Campaign Finance API and Fech processes individual filings on the fly. Although the default is to today’s filings, if you know the filing number, you can plug it and the schedule into the URL and it’ll just work.

Although it was relatively simple to build and deploy (thanks, Heroku!), I don’t expect the FEC to do something like this anytime soon, although I’d be happy if they did. More certainty, tighter focus, more direct references – these are good things for journalism. If you have ideas on improving The Itemizer, please join in. Or better yet, build one for a similar data set that you work with so even more people can benefit.