CivOmega is an attempt to give people with normal, human questions the ability to get answers from government data. It's like a Mad Lib but useful.

Long Description

CivOmega makes it easy to convert government data and APIs into resources for people who didn’t spend half their lives learning to program. For instance I made it possible to ask the question “What bills are about [X]” where X can be any phrase you want. Behind the scenes CivOmega knows how to go out and talk to the appropriate datasets at which point light shines down from the heavens and angels sing to you about congress.

Lots of data has been published, but it’s hard for non-technical constituents to benefit from it. Now, thanks to CivOmega, when a new dataset is released to the developer community, someone could spend a few extra hours to unlocking all sorts of new questions and answers through CivOmega.

The system is built in Python, and the first version of this was created during a 24 hour hackathon at the MIT Civic Media Conference in 2013. Since then it has been rewritten with a more attention to code quality and extensibility thanks to a grant from the Sunlight Foundation.

A CivOmega module is made up of three parts:

  1. Question patterns. These patterns are used to guide a user to questions that the system knows through the main CivOmega interface. When a user asks a question that fits that pattern, CivOmega creates a structured object and passes it to the module that knows the answer. (Example: { “politician”: “John McCain”, “issue”: “Campaign Finance” })
  2. Mapping Logic. Custom logic takes the structured data extracted from a pattern by CivOmega and uses it to look up answers. (Example: using the Sunlight Foundation’s congress API to get a list of all bills about Campaign Finance that were supported by John McCain.)
  3. Answer Templates. The result of that search is packaged and sent to an HTML / JavaScript / CSS template, which renders the answer in whatever format is most appropriate (as determined by the module author).

Papers, Posts, and Press


  • Python
  • jQuery


Oh good, answers to questions I’ll never ask.
– The American Public