SELECT * logo

SELECT *

Archives
Log in
Subscribe
July 1, 2026

Irregular Order

Updates on several congressional data projects

I did say that these updates would be irregular, and between the end of the academic semester and some other stuff, I’ve not provided an update in a month. But it’s not like I haven’t been busy building things, and this newsletter has news on both old and new projects, but this update is a bit more incremental than some of the others.

Congressional Press Releases

First, I’m very pleased to share that Inside Climate News used the Congress Press collection of statements to help produce this story on “climate hushing” among congressional Democrats. They published the code for that, too. Would love to see more of these uses.

Speaking of congressional press releases, I’m tinkering with creating a search engine for them using Datasette and HuggingFace Spaces. It’s a (so far) very cheap way to serve a large (3GB+) SQLite database and thanks to GitHub Actions it gets updated every day.

Datasette at your service

Right now it’s just search and browsing/filtering, no facets supported, but you can kick the tires here. I also updated python-statement to better support scraping paginated sites, which increased the number of releases I’ve got.

House Office Expenditures Update

The House of Representatives has published office expense files for Q1 2026, so those are now processed and available, and I’ve updated the public site that hosts them in two ways:

First, you can filter the files by quarter or year:

First things first

But the more interesting new feature is in-browser filtering of the data itself, both the summary and detail files. This way you can explore the data before you download it.

Missing votes but not salary payments

Not Present, But Accounted For

The lawmaker whose staff is listed above in Rep. Tom Kean, R-N.J., who returned to the House of Representatives on June 30 after last voting on March 5. Kean announced he was hospitalized for depression; I’m glad that he sought treatment and hopefully is improving.

There were a spate of articles about Kean’s whereabouts during the past few months, along with frequent mentions of his missed votes. I’ve been interested in voting records since I worked at Congressional Quarterly in the previous century, and now that the Congress.gov API provides House voting data, it seemed like a good time to take a look at not just Kean but other lawmakers.

To do that, I resurrected a Python wrapper for the API and had Claude update it to match the current endpoints. Since the House vote data is delivered on a per-vote basis, you need to grab each vote and then calculate the missed vote streaks for individual members. Not hard, just slightly annoying, and you don’t really need a database. Instead, you can just serve up some HTML, CSS and JSON. So here’s “Present”:

Missing inaction

While Kean’s lengthy absence definitely is worth of attention, other members routinely skip multiple votes. Somebody needs to be tracking that. Here’s the code that powers the site.

Don't miss what's next. Subscribe to SELECT *:
Older → House Jobs
Bluesky
Powered by Buttondown, the easiest way to start and grow your newsletter.