A tool for managing public records requests and source contacts

Screenshot of a form allowing users to submit public records requests.

For my master's thesis in Stanford's journalism program, I'm working on a project that involves getting records from a lot of different municipalities.

For data journalists, this is a pretty common problem. A lot of information journalists seek — death records, inspection records, you name it — is collected at the state, county, or municipal level. And data journalists often want to analyze that information across a wide geographic area.

In order to manage this work, I created a Django tool for filing public records requests to multiple agencies at once. I used an early version of this, django_sourcebook, to file requests for a reporting project. Since then, I've worked on building a more interactive version with authentication and tests. That project is foia_integration.

The tool currently allows you to form a template for requests. You can also draft identical requests for a number of agencies and either send them or just save them to your database. The tool for drafting requests allows you to manually add requests or to upload them by CSV. It offers autocompletion for the manual addition of recipients. You can additionally preview each of the additional requests before you submit them.

There's still a lot of work I have left to do — it's not yet well set up for following up on requests — but it's already fairly useful, and I anticipate it will only become more useful.

To learn more about the tool or to file a pull request, see the GitHub repository.