This post was written more than four years ago. The world changes fast, and the information, conclusions, or attributions may or may not still be accurate. Check the sources and links, and email me if you have any questions.

The National Day of Civic Hacking was this weekend. Groups got together all around the country to build cool technology at the intersection of government data and improving problems in society. I saw many fantastic applications being built and ideas being explored, from improving literacy to enhancing municipal transparency to visualizing immigration.


I built TowText, an app that sends you a text message if your car has been towed or relocated by the City of Chicago. If you’ve ever been towed before, you know the feeling of looking down a street and your mind racing with wondering if you parked somewhere else, if your car was stolen, or if you got towed. The City does a good job of having lookup tools and 311 to allow you to find out where your car is, but they also do something else that’s pretty cool: they release the data on Socrata, and it’s accessible as a JSON API. It updates every 15 minutes with new cars that have been processed by the city impound lots.

This app is only possible because the City of Chicago made that data available. Someone else could come along and build a service that analyzes tows by neighborhood, day of the week, hour, car model, car color, or they could integrate it with other data like city employee salaries and gas prices to determine how much the city makes or loses on each tow.

The city put the data out there, and people can do cool things with it — which brings me to my point: data accessibility was a huge issue I saw and heard about at events across the country.

For all this locked-down data, there’s no need for it to be sitting unused and unavailable — it’s not private. Innovation and problem solving does not happen in closed silos where data can’t can’t talk to other data. I stopped by for the judging at Hack for MN, the event in Minneapolis, and saw some really cool apps being built and explored.

Find your polling place by textOne team built an application that uses data from the Minnesota Secretary of State. You send a text message with your address, and it will reply back with your precinct and polling location. I love the idea, and this is extremely useful for folks without a smartphone or a computer with Internet access. It crosses the ‘digital divide’ to ensure that everyone has access to information—and in turn—access to vote.

But there’s one problem: the Secretary of State’s office does not openly release that data, instead providing a small sample set from a small town so you can see what you’re getting if you opt to purchase the full set of data on CD-ROM. Last time I’ve even thought of using a CD? Years ago, to be certain. I’ve requested the data before, and it’s $46 and a wait of up to 10 days. The data goes stale with new buildings, roads, and polling place changes, requiring you to re-purchase the data if you want it to be accurate. Presumably, the government would want anyone dishing out polling place locations to be giving out accurate information, so 10-day waits, CDs, and cash seems like a reverse incentive to keep your data up-to-date.

An awesome idea with such a mindless roadblock from government is painful to see. (However, Secretary Ritchie is a great guy, and will surely fix this problem.)

data park parking gis toolThe ‘DataPark’ team built an application that would theoretically use city property data to visualize neighborhood parking demand and the impact of new construction on parking availability. Having done a lot of work with neighborhood organizations, I fervently nodded in agreement as the presenter brought up that parking availability is always a topic of discussion on new building developments in urban areas.

So, they’ve built an extremely cool app that color codes streets, and shows ‘hot spots’ of parking (un)availability… but again, there’s a problem: the data. The city does not provide an open API endpoint nor a download of all of the property data for the city. The city already has the data in electronic format, and it’s public by law, so there should be no technical nor practical barrier to doing so. So when this team would love to take each address and determine if that address has a single family home, duplex, apartment building, or business, it’s mostly impossible without navigating the channels of bureaucracy.

Again, an awesome idea with real-world practicality is foiled until there’s a commitment from government to open and release the data.

I don’t mean to be so negative, though. You can certainly accomplish things, even without data. The Connect Me Minneapolis team set out to tackle a huge problem: cataloging community technology assets. With a problem like that, you know that any data that might exist is going to be terribly out-of-date and unusable, forcing you to build the dataset yourself. This team tackled the problem by first doing user research, a step I wish I saw on every civic hacking project:

The point of the National Day of Civic Hacking was not to come in and hastily hack out whatever solution you think is best, nor was the intent to even find solutions for big problems that will take years to solve. So while I certainly don’t want to discount any of the fantastic work done by any team, I do think it’s quite telling that the only team that had a finished, 100% working application was a team that had good data from a robust, well-documented government API that updates every 30 seconds with new data.

That team was, using MetroTransit’s NexTrip API.  They built a clean and simple interface that allows you to quickly see when the next bus arrives on your route.  Just like every other team, they brought a fantastic idea forward.  But unlike every other team, they were able to execute because a government agency knows the value their data multiples when it’s exposed to developers.  I use a variety of transit apps whenever I travel, and none of them would be possible if those cities and regions didn’t know that people want technology that improves their lives.

I hope that around the country this event accomplished three things:

  1. Discussions, collaboration, and learning.  As I mentioned earlier, the best solution to a problem is not the one you come up with on a whim, it’s the one you collaborate on with others, learn what the best way to implement a solution would be, and build.  Some folks built APIs on top of scraped data, made presentations to summarize learnings, made mock-ups of what could be built, or built full-blown apps in production right now.  These are all valuable contributions to civic tech!
  2. Get more people interested in civic hacking, even if they’re not developers.  Civic hackers are engineers, designers, analysts, users of government services, librarians, and postal workers.  Your contribution doesn’t need to be code.
  3. Get people in government to champion efforts for new technology and open data.  My favorite quote is from Jennifer Pahlka, the founder of Code for America: “There’s a lot of problems in government, where the solution feels like a web app.”  Government should not just be thinking about how they can help citizens, but also how they can help themselves!  Instead of having employees sit there and make crime maps and send crime alerts manually, why not have a app do it?  We need leaders to convince government to stop clenching their fists around data that’s public under the law.