Skip to main content
U.S. flag

An official website of the United States government

Back to Blog

Take our code: 34 reusable projects from 18F

Since 18F’s mission is to transform government, we’re constantly thinking about how to scale up our impact. How can our custom-developed work get more mileage in benefitting the federal government and beyond? One way is through reuse of our open source code.

We encourage you to adapt 18F open source projects for your work and personal purposes, whether you’re a fellow federal employee or outside government. We’ve put together a list of some 18F repositories that might be especially useful to you — for your own projects, as part of a nonprofit or business, part of a government somewhere, or for something else that you’re working on.

18F’s open source policy emphasizes that our work belongs to you. Our policy says:

The code we create belongs to the public as a part of the public domain. The code we work on was paid for by the American people, but the end-product is not the only way they should be able to interact with their government. By coding in FOSS [Free and Open Source Software], we help populate a larger commons that cities, states, businesses, and individuals can participate in. This creates real economic value by lowering the burden of replicating similar work or by allowing the private sector to build off of and create new businesses around code developed at 18F.

We know it might be overwhelming to look at all the hundreds of repositories in the 18F GitHub organization to figure out what might be useful for you. They include a variety of projects in varying stages of development: client projects, tools we’ve built to support our work, guides we’ve written, prototypes, other people’s open source tools that we’re adapting, and more. We’re continually thinking of ways to share our work better, and here’s one experiment!

This list is part of our New Year’s resolution to be more open. Following up on those goals, we’ve also been working more on identifying parts of our work that are generic and decoupling them from the applications we developed them for.

If you’re interested in volunteering to contribute to our work, these projects are in varying stages of development and would generally benefit from external expertise — feel welcome to open issues and pull requests. We’re also featuring selected “help wanted” tasks in our weekly newsletter. If you have suggestions for other 18F projects to include in a future iteration of this list, you can add them to the discussion of our New Year’s resolution.

If you maintain your team’s websites

If you help your team work together

  • Checklistomania: Build centrally-managed todo lists for complex processes such as team member onboarding/offboarding and management changes.

  • Open Opportunities: Especially for large organizations, this is a way for staff to share news about available internal tasks that might be interesting to somebody in a different part of the organization.

  • Tock: Track how much time team members spend on projects by asking them to fill out a weekly timesheet in Tock. It’s more convenient than a collection of spreadsheets, and lighter-weight than many of the available commercial time tracking tools.

If you build digital services for government

  • Compliance Masonry: Simplify the process of building certification documentation (especially for modern applications built on pre-existing systems) by generating documentation based on the OpenControl Schema, a machine-readable format for writing and generating compliance documentation.

  • Draft U.S. Web Design Standards: Use these pre-built UI components and visual styles to help you create beautiful, easy-to-use U.S. federal websites.

  • eRegulations: Make your agency’s regulations easier to find, read, and understand with this web application that you can adapt to your agency’s needs. (A collaboration between the Consumer Financial Protection Bureau and 18F.)

  • FISMA Ready (introduction): Make Federal Information Security Management Act compliance easier by sharing and reusing configurations and best practices for various pieces of software and tooling.

  • Samwise - Access the SAM.gov API via Ruby.

If you work with lots of data

  • AutoAPI: Set up a simple API engine that converts flat data files into a web service.

  • Document Processing Toolkit: Extract text from PDFs, and default to OCR when text extraction fails.

  • gapps-download: Download documents from Google Drive with a quick command so that you can easily republish them to the open web.

  • Open Data Maker: Turn CSV files into easily accessible open data.

  • rdbms-subsetter: Generate a random sample of rows from a relational database that preserves referential integrity. Good for creating test or development databases from production.

If you make websites that communicate lots of information

If you use Slack

  • Coffeemate: Help team members get to know each other by finding a teammate to have a coffee with.

  • Dolores Landingham Bot: Help onboard new team members with this Slack bot that sends scheduled direct messages with helpful tips.

  • hubot-slack-github-issues: File an issue in a GitHub repository by tagging a Slack chat message with a specific emoji reaction. For example, this is a quick way to remind yourself (or your team members) to integrate a useful piece of information from chat into the documentation for your project.

  • Slack Emoji Search: With this command-line utility, search for Slack messages that have been reacted to with a specific emoji.

If you use Jekyll

If you use Cloud Foundry

See also: our list of cloud.gov platform tools.

If you want information about websites

  • domain-scan: Use this command-line tool to run several open source scanning tools on domains to measure aspects such as speed, accessibility, and HTTPS.

  • urlsize: Determine the file sizes of one or more URLs via this command-line tool.

For more guidance about reusing or contributing to our work, take a look at our open source policy. While not required, if you end up using one of our tools, we would love to hear from you. You can tweet at @18F, open an issue in the relevant repository to write a note about that project, or send us an email (18F@gsa.gov). Looking forward to hearing from you!

Related posts