With yesterday’s launch of Virginia Decoded, there are suddenly a lot of people who would love to set up The State Decoded for their own state, something that isn’t possible just yet. This calls for an explanation of what the plan is.
Building Virginia Decoded was an evenings-and-weekends hobby for me starting in the summer of 2010. I learned the structure of the Code of Virginia as I went, and built the site explicitly to mirror that structure. Some friends who were alpha testing the site in late 2010 insisted that it could be used in other states. I applied to the John S. and James L. Knight Foundation for the funding to overhaul the Virginia Decoded code base, abstract it enough that it could support the widely varying structure of legal codes throughout the United States, and turn it into a proper open source project. In June the Knight Foundation named the State Decoded project one of the winners of the 2011 News Challenge. The funding came through a few days before the end of 2011, and I was able to get started on the project two weeks ago.
Launching Virginia Decoded was easy, because I’d created the site long before getting started on The State Decoded.
The next task is to scrub the Virginia Decoded source of all material that shouldn’t be released publicly (passwords, API keys, etc.), at which point it can all go up on Github. (You can find Virginia Decoded’s parser on Github already.)
Then comes the real work, which is eliminating all of the functionality that is fundamentally Virginian, and replacing it with more flexible functionality. For instance, the Code of Virginia is broken into titles, which are broken into chapters, which is broken into sections (each section is a single law). But California’s laws are broken down into codes, which are broken into divisions, which are broken into chapters, which are broken into articles, which are broken into sections. As a result, California’s laws just won’t work in the software’s existing framework, which is premised on the assumption that codes are divided into three levels, and that those levels are called “titles,” “chapters,” and “sections.” This and other, similar problems are wholly solvable—they’ll just require some reflection and some time. Luckily, solving those problems is my full-time job for the foreseeable future, courtesy of the Knight Foundation.
When the State Decoded code base is sufficiently abstracted to work across states, that’s when things will get fun.
Eager to get started for your own state? Watch the project on Github, check out the parser, and contact me to let me know what state you’re interested in and in what capacity you want to help make that happen.
I don’t quit see the purpose of your hard work since the Commonwealth of Virginia’s Legislative information site contains the same information at http://leg1.state.va.us/cgi-bin/legp504.exe?000+cod+TOC. Nice job though.
The purpose is to improve on it. :) Every state in the union provides their code online, they just all do so really badly. Compare any section of the Code of Virginia between the two sites, and I think you’ll find that it’s much more user-friendly on Virginia Decoded. More important, the State Decoded project provides an API and bulk downloads for state codes, the former unheard of and the latter rare among official state code websites.
Also, you’ll note that every section of code on Virginia Decoded contains a link to the same section on the official state website—it’s no secret that the same core information is available on the state’s site.
Oooh, it would be great to parse German tax law like this.
Of course what I am dreaming of is also parsing the meaning, implications, and interactions of the laws. Hmm, maybe some day.
Very inspiring work, keep going!