Facebook Political Ad Collector
We collected Facebook ads from our readers throughout 2018 in order to hold Facebook accountable, understand political tactics and fact-check politicians. This project was a collaboration between several journalists at ProPublica, as well as 10+ domestic and international partners.
After the departure of two colleagues who had started the project, I led the project, managing or assisting in managing news reporting, coordination with partners – as well as maintaining the technology.
Tech-wise, the project began as a browser extension (JavaScript), a React/Redux app (JavaScript) and a backend server written in Rust. In order to allow more agile experimentation and iteration, I built a Rails backend to complement the Rust backend, which, in particular, made it much easier to build tools that showed trends in tactics and advertisers.
The project is open source and available at https://www.github.com/propublica/political-facebook-ads (extension, front-end site and Rust backend) and https://www.github.com/propublica/fbpac-api (the Rails backend).
Stories colleagues and I wrote based on this project so far (as of 6/3/2018) include:
- sneaky tactics by an Ohio gubernatorial campaign to run negative ads on Facebook under the name of “Ohio Primary Info”.
- the inadequacy of Facebooks transparency database – which was missing ads at launch and missing important categories of data.
- an explainer of one way Facebook enables little-known Democratic candidates to raise money – advertising to people who like the page of more prominent Democrats.
This project was based in part on a very similar project I started at The New York Times before the 2016 election, so I was glad to get a chance to put into practice the lessons I had learned – and benefit from my ProPublica colleagues’ great ideas on how to do it better.