Some information about the tech:
- I use Gemini 2.5 Pro to generate the summaries
- I use the Gemini .NET library using structured objects to invoke prompts. This lets me receive structured responses in a guaranteed format, which allows each page to be uniform.
- I locally generate each summary one by one and store them in a local database. I then statically generate the html for each page at build time. I’ve seen similar sites that invoke LLMs and generate summaries at runtime, which feels slow and doesn’t scale well.
One of my biggest worries was hallucinations, as accuracy is essential for websites dealing with legislation. After a lot of testing, I learned that prompting to “anchor facts to actual text from the legislation” effectively eliminates hallucinations. This also allows me to provide direct references to the official text for individual sections of the summary pages, allowing users to easily verify information themselves.You can see an example of this with the recently trending “Parents Decide Act” here:
https://explainthelaw.com/bill/hr8250-parents-decide-act/
One of the initial reasons I created this site was because I was curious about some details in the “Big Beautiful Bill”, but was having a hard time manually parsing the official text. In addition to the high level summary pages linked above, the site also provides itemized breakdown pages for large omnibus and appropriation bills:
https://explainthelaw.com/details/119-HR-1/
I update the site daily so that the latest legislation is always available. Would be happy to hear any thoughts, feedback, or suggestions about the site.