18 December 2025
As the year winds down, I wanted to share three projects that I’m particularly proud of working on in 2025, each focusing on how AI is changing the way we build and deliver government digital services. What’s kind of surprising to me is that all of this work happened in...
12 December 2025
Most legacy government systems exist in a state of profound documentation poverty. The knowledge lives in the heads of retiring employees, in COBOL comments from 1987, in binders that may or may not reflect current behavior. Against this baseline, the question of what makes a “good” spec file takes on...
11 December 2025
About five years ago, I got fed up with Goodreads and decided that I could just build my own replacement. That turned out to be shockingly easy - the /reading section of my site runs on Jekyll and is free to maintain. For a long time I basically just maintained...
04 December 2025
Government legacy systems hold decades of institutional knowledge – eligibility rules, policy interpretations, edge cases learned the hard way. When agencies modernize these systems, the typical approach is to translate old software code into new software code. But this typical approach misses something fundamental – the knowledge embedded in these...
02 December 2025
MCP Apps and the Acceleration of Just-in-Time Interfaces In August, Dan Munz and I wrote about the end of civic tech’s interface era, arguing that the rise of AI-generated, just-in-time interfaces would fundamentally change how civic technologists think about designing government services. We acknowledged that these ideas were still mostly theoretical”this...
28 November 2025
Explains how to use instruction files to guide GitHub Copilot to help you consume less risky code dependencies. Also introduces different types of dependency risks and how they can be assessed.