Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Government Acronym Glossary
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

The Government Acronym Glossary

So you've decided to delve into the wonderful world of open government. Good for you, newly-minted civic hacker!

But soon you realize that there's a swamp of esoteric jargon to wade through. Sure, after a good bit of Googling, the haze starts to clear. Then you notice that the most insidious type of jargon is the acronym.

Everything related to government, either directly or tangentially, tends to have a long name. That long name gets shortened into an acronym that can collide with others. For example, MARC can refer to a train system, a bibliographic standard, or a regional planning group. One of the most important organizations in the transparency movement is commonly referred to as CRP, the Center for Responsive Politics, but a Google search hides the correct result all the way at the very bottom.

So we need something a bit better than Google, to help us solve this small, specific, but incredibly annoying problem.


This is a project slated for the Great American Hackathon, led by Luigi Montanez. It'll be a web app, similar in feel to the online dictionaries currently out there.

The plan is to host the app on Google App Engine, specifically using the JRuby package. This means that the app will be built with Sinatra and use DataMapper to access the datastore.


The glossary encompasses:

  • Government departments and agencies. All levels.
  • Legislation, like BCRA and RICO.
  • NGOs, not-for-profits, civic and business groups.
  • Domain-specific jargon, like SSN and EIN.

The glossary will have two interfaces:

  • A desktop web interface, using some standard templates.
  • A mobile web interface, for optimized for iPhone and Android using jqTouch.

Existing Resources

We'll need to scrape and load the following:


For the learning experience, we'll build everything using Behavior-Driven Development, so that means Cucumber, Webrat, Shoulda and supporting libraries.

Here are a few Cucumber-style stories to get us started:

Scenario: Search for an existing acronym
  Given I am a site visitor
  When I go to the home page
  And I fill in "Search" with "FEC"
  And I press "Submit"
  Then I should see "Federal Election Commission"

Scenario: Search for a missing acronym
  Given I am a site visitor
  When I go to the home page
  And I fill in "Search" with "FFC"
  And I press "Submit"
  Then I should see "Not found"

Scenario: Submit a new acronym
  Given I am a site visitor
  When I go to the submit page
  And I fill in "Acronym" with "FFC"
  And I fill in "Full Name" with "Federal Fun Commission"
  And I fill in "Website" with ""
  And I fill in "Description" with "In charge of ensuring fun!"
  And I press "Submit"
  Then I should see "Thanks for your submission"
Something went wrong with that request. Please try again.