National Day of Civic Hacking

So, I spent this gorgeous Saturday in Portland holed up in a loft office building, huddled over my computer analyzing Oregon legislature data with a team.

This all started at Code With Me Portland, a two-day intensive workshop designed to teach journalists how to code (specifically focusing on interactives). That weekend, I built an interactive map which displays feeds of the latest government meetings in Walla Walla County. It’s still being developed, to, among other things, contain a real feed instead of the dummy links I have in there now. I’d been hanging out on Codecademy learning HTML and CSS sporadically, but Code With Me really let me practice those skills in a practical way and see how a project could be developed from start to finish. And I was excited to find more changes to apply my limited nerd skills to cool things, especially things related to journalism and information access.

National Day of Civic Hacking

Naturally, when I found out about the National Day of Civic Hacking, I was excited. It’s a nationwide thing, with events in something like 100 different cities all occurring this weekend. Basically, developers, designers, policy experts and assorted other nerds get together and try to build something cool using data sets and public information.

I went to the Portland event, because it was closer to Walla Walla and a group of Code With Me mentors and students wanted to team up. Our team consisted of Daniel Bachhuber, a Code with Me mentor and programmer with tons of experience, especially in WordPress; Ivar Vong, another mentor  and developd at Emerald Media Group, and Susan Currie Sivek, a mass communications professor at Linfield College (aka another awesome tech-savvy journalist).

We started out talking about lobbyist and campaign finance data, but we ultimately decided we didn’t want to go down that road, because there are a number of pretty good sites which display campaign contributions, and we didn’t have a clear problem we were trying to solve by building something slightly different.

Instead, we ended up focusing on bills from the Oregon legislature, which we had been looking at incidentally while discussing campaign finance. We found three existing databases of these bills, none of which were especially user-friendly. The state government website is the worst—it allows you to search for keywords within a bill, but then takes you to a full text version with a short (one sentence) summary that’s not especially informative.

The Oregonian’s site is more readable, showing you where a bill is in the legislative process. Still, it doesn’t offer much in the way of context.


For instance, this bill would prohibit siting a composting facility within 1500 feet of a school. Your first thought upon reading that might be, “Why on earth does that need to be legislated at all?” And the bill summary and full text, even for those willing to sift through them, don’t offer much in the way of context.

Now, as it turns out, there’s actually a pretty controversial compost facility that’s been proposed in Stafford. Residents are worried that it will contaminate groundwater and have odor and noise problems. And guess what? It’s located within 1500 feet of a school. In other words, this random bill would stop the Stafford facility if passed, but there’s no way of knowing that from looking at the Oregonian site or the state legislature page. You’d have to be interested enough to do your own search for the bill number and see what Google turns up.

In addition, there’s the fact that even a well-educated person is hard-pressed to understand what any given bill actually does. One-sentence summaries don’t often cut to the heart of what a bill is about or tell you who it will most impact, and most people don’t want to skim through a few paragraphs of legalese to figure out what’s going on in more depth. (Initially, this was kind of a surprise for me, since I’ve been excited about doing that since like sixth grade. I guess my politics major and political nerdiness does come in handy.)

We set out to build a site which was designed with the user in mind, rather than the data itself. Instead of just dumping all the bills on a site and letting people search them, we wanted to give people an opportunity to respond to and interact with bills. Our site was called What the Bill, and we wanted to include these features:

  • One of our big features was to allow users to react to bills by clicking a button. We gave them options including “What?”, “Tell Me More” and “They’d Better Not”, and each bill page displays all of the reactions submitted so far.
  • Another problem we identified with existing databases is how hard it is to isolate bills that have a chance of passing and are actually relevant. We wanted to build a homepage which would display three lists of bills: “hottest” (based on a combination of page views, total reactions and media coverage of the bill), most recently changes (thing the legislature has just taken action on), and editor’s choice (to allow admins/journalists to highlight bills that seem boring, but would actually have significant impacts if passed).
  • Each bill has a “who” and “where” field which are designed to describe the groups of people and areas of the state that would be most impacted should the bill pass. Each field would function as a tag, so a user could go to one page to see every proposed bill which would impact, for example, homeowners, Native Americans or Multnomah County. These fields would be editable by users from a menu we wrote, so we could essentially crowdsource this information and get it listed for all bills relatively quickly.
  • We also had a “what” field, which provides a plain English summary of each bill. For demo purposes, Susan and I wrote a few summaries. We envisioned the site having a team of journalist admins who would check for popular bills or bills where a lot of people voted for “tell me more” and summarize based on that. We also wanted to allow people to suggest edits or submit their own descriptions (like a moderated wiki), but we didn’t have time to build that in.
  • Finally, we wanted each page to provide a news feed of related articles, which would come from several sites that regularly cover Oregon politics. This would mean that, for instance, the page about that compost bill would also have a sidebar linking to news about the proposed Stafford facility, allowing readers to make that connection without having to Google it themselves.

This was a lot to build, and we had about four hours to do it once we finally decided on an idea. Ivar and Daniel did the hard working, using a database called LegiScan which has an API to import information about Oregon bills into a WordPress site. Susan and I created categories for the Who and Where tags and summarized a few bills, after our attempts to design a bill page using our rudimentary CSS knowledge became unnecessary.

Obviously, we didn’t build all the features we wanted to in four hours. Daniel and Ivar did an awesome job just getting the bills imported and setting up the reaction tags, and we got Who and Where working, though they’re not tags and not editable by users yet. We also didn’t get a chance to design a homepage, so the site just has a blog-style listing of the bills themselves. But for a few hours of hacking, our team got a lot done. You can view the site here, and one of the bills I edited and wrote a summary for here.

At the end of the day, all the teams presented their work and the organizers gave out a few awards to projects. We won a People’s Choice  Award, which was really awesome, and came with a few hundred bucks of prize money. The rest of my team not being broke recent college grads, we elected to donate our winnings to a Portland organization which teaches girls to code (I’ll link to them once I get the name.)

All in all, it was a challenging and fun day, and it definitely gave me a better sense of the kind of skills I’d like to be developing. And I’d definitely like to do it again next year.