Search across all content
An open-source tool that reads each night's new legislation with large language models, ignores struck-out text, and gives over 120 agencies a ranked shortlist of the bills that most affect their work.
In a single legislative session, the Maryland General Assembly introduces close to 2,000 bills. State agencies, which carry out policy in areas such as health, education, housing and transport, need to know which of those bills affect their work. A bill might impose a mandate on a particular agency, change how a programme is funded, or add requirements that the agency must meet. When a relevant bill is missed, the agency can also lose its chance to submit testimony, influence the bill, or prepare to implement it.
At that volume, reviewing every bill by hand is not feasible, and the capacity for it varies across government. While some larger agencies have legislative teams that track bills, smaller offices without dedicated legislative staff must do so alongside their other responsibilities.
To keep up, staff have leaned on two workarounds: keyword searches and the short official summaries called synopses. The problem is both are limited in how well they work. A keyword search turns up only bills that contain the precise terms someone enters. A synopsis covers what a bill does in general terms, but can miss a provision that names a specific agency or a requirement set out only in the full text. An agency that does not know the bill's name cannot respond to it. As Francesca Ioffreda, the State of Maryland's Chief Innovation Officer, has described it, the main concern was completeness: with so many bills, some were going unnoticed.
The Maryland State Innovation Team, an eight-person unit in Governor Wes Moore's Office, encountered this in its work on child poverty. To do that work, the team needed to know what the state had already tried, which measures had been passed into law, which had been funded, and what the results were. Going through close to 2,000 bills by hand was not practical for a team that size.
The Innovation Team's answer was Legi-Assist. Each night during the session, it draws on the Maryland General Assembly's feed of new bills, pulls the latest ones, turns their dense PDFs into text a computer can work with, and runs that text through large language models, a form of AI that can read and write in ordinary language, to gauge what each bill contains and whom it concerns.
Three of its capabilities go beyond what manual review or a keyword search can manage.
The first concerns formatting that carries legal weight. Maryland's legislative documents use strikethroughs, lines drawn through text, to show which parts of an existing law are impacted by an amendment. For anyone reading the document, the meaning is clear: that language is no longer in force. The problem is that AI tools often cannot distinguish between struck-through and regular text, treating both as current law. Legi-Assist was deliberately built to spot those struck-out passages and leave them out, so that what it analyses is the law as it actually reads today.
The second concerns relevance judged by substance. The team gave the system a written profile of every state agency, setting out its work and the people it serves, and named this part the relevance engine. Each incoming bill is compared against those profiles, so the tool can identify the agencies a bill would affect and explain what makes it relevant. A bill widening school meal programmes, say, would register for child poverty work even with no mention of that phrase, catching links a keyword search would never return because no one would have thought to search for them.
The third is the daily output. The overnight run leaves each of the more than 120 agencies and teams signed up for it with a ranked shortlist of the bills that most affect their work.
Building the tool internally, with the team's own data scientists, was a choice Ioffreda has explained in terms of cost, speed and control: no procurement bill, room to revise the tool as soon as users flagged a concern, and the team keeping oversight on how the legislative data was handled.
To gauge accuracy, the team ran Legi-Assist over three legislative years, across upward of 1,800 bills, relying on a few intricate measures that its members already understood well, among them the Access to Banking Act and the ENOUGH Act. The checks examined whether struck-out text was correctly ignored and whether the tool could distinguish a bill that merely refers to a topic from one that obliges a named agency to act. With that internal testing done, the team showed Legi-Assist to Maryland's AI community of practice, the cross-agency forum for swapping ideas, and the response there told them the difficulty reached well beyond their own desks.
The team has placed all the code on GitHub, an online home for openly shared software, under an MIT licence that lets others adopt, adapt or extend it. As Ioffreda has put it, the aim was to give other states "the foundational infrastructure so they don't have to build from scratch."
1. A daily reach across government
Each morning of the session, upwards of 120 agencies and teams receive their own tailored slate of relevant bills, drawn from the overnight run. Where staff once pieced this together from keyword searches, synopses or reading bills one at a time, they can now see at a glance what affects them.
2. Fewer bills are slipping past
When weighed against the agency profiles, the relevance check brings to light ties that a keyword search or a synopsis would leave hidden, so a bill that names an agency or places a duty on it, even one buried well into the text, stands less of a chance of going unnoticed than before.
3. Use beyond tracking new bills
The tool has also helped the team in less expected ways. Asked to cost a proposed new state data system, the team turned to Legi-Assist to dig out earlier Maryland bills behind comparable systems, then worked from the fiscal notes on them, the cost workings legislative analysts attach to bills, to anchor its estimate in the state's own record.
Start from a problem the team genuinely has. Legi-Assist grew out of the Innovation Team's own child poverty research, which called for a scan of close to 2,000 bills that no one could manage by hand. The wider need surfaced only once the tool was running and colleagues elsewhere in government saw their own situation in it. Ioffreda's counsel to peers is to take a real, time-consuming administrative chore and solve it properly, on the view that this can free up capacity that was not apparent before. Here, a narrow internal need came first, and the broader rollout followed only once the tool had proved itself.
In-house building can pay off where the skills are on hand. Because the work stayed with the team's own data scientists, it incurred no procurement costs and remained easy to adjust as feedback came in, with the team in charge of the data throughout. For a government with comparable technical foundations, the takeaway is that some tools can be made and improved internally, sparing the expense and delay of buying one in.
Legal text can demand purpose-built handling. Maryland's bills mark repealed wording with a strikethrough, which a general AI tool will read as live law unless instructed otherwise, so the team had to program Legi-Assist to find and discard it. For any government applying AI to legal or regulatory material, the point is that conventions with legal meaning must be handled deliberately, because a model may not infer them on its own.
Launch year: 2025
This case study was written with assistance from artificial intelligence.





Connect with 500,000+ public servants solving your hardest challenges.





Connect with 500,000+ public servants solving your hardest challenges.
Help public servants worldwide learn from your work, what worked, what flopped and what you'd do differently
Share your project
Log in or sign up to continue the conversation