Skip to main content
U.S. flag

An official website of the United States government

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Illustration of a group of red, yellow, and blue squares and rectangles

TOP Product Development Toolkit

This toolkit documents the process that The Opportunity Project team at the U.S. Census Bureau and other federal agencies have used to facilitate collaborative, user-centered technology development sprints. Anyone interested in transforming federal data into digital tools for the American people can adopt this process, adapt it for your own sprint, and share your feedback to help improve it. Civic tech organizations, coding boot camps, federal agencies, and more have adopted The Opportunity Project process. We hope that teachers, community organizations, and state, local, and other government leaders will use it and share feedback to help improve it.

Step 1:
Choose a Problem to Solve

The Opportunity Project aims to solve real-world problems facing individuals and communities. The first step in the process is to identify a problem that your team will work to solve with a data and technology solution. In order to make a solution that really improves lives, it's important to start by working with people experiencing that problem directly to be sure that you're really addressing felt needs. Then find a data set with information that could help to solve that problem, and start building your tool.

Key Actions


Connect with community groups, local leaders, federal agencies, or non-profits who are mission-driven and close to the ground to identify a meaningful challenge to focus on.


Identify an opportunity for federal or local data to make an impact, for example a problem where making data more accessible would solve a problem.


Remember to consult with stakeholders and future users of your tool before you build anything. See more information on conducting user research in Step 3.

See Resources below for a list of roles, which may be combined or adapted to best meet your team’s structure


Problem Statements Defined by Federal Agencies

The problem statements can serve as a starting point for your team. Work with local experts and user advocates to narrow or revise the scope for your own project.

Detailed User Scenarios

The user scenarios were written by user advocates and people with lived experience, and they provide examples of real-world challenges and the stories behind them from the end user's perspective.

Step 2:
Form a Team

Collaboration is an essential part of The Opportunity Project process. Recruit a team with diverse skills and perspectives so that you can build the best solution for your problem statement. Bring in community leaders, service providers, or people with lived experience who can act as user advocates for your end users, government agencies who can provide guidance with data sets, and a cross-functional technology team with designers and developers to build a high quality digital tool.

Key Actions


Include a tech team: data scientists, developers, designers, business thinkers, or anyone else who could help to build the solution.


Reach out to government policy and data experts who may be able to help shape your problem statement or design of your product.


Include User Advocates who work directly on issues related to your challenge, and who work closely with your end-users -- or even better, people who experience the problem directly.


Identify team members who can lead user research, like people who have experience with user-centered design. Everyone should try to ensure the project stays focused on the user and their needs.

To Learn More

Think early about who will maintain the tool once it's built and who will make sure it gets into the hands of end-users. You may want to identify someone on the team who is responsible for determining how to make your solution sustainable.

Roles We Suggest


User Advocate


Federal Agency


Tech Team


Commerce Data Academy

Build your team's skills with courses from the US Department of Commerce's Commerce Data Academy on topics including User Experience Design, Qualitative User Research, Git and GitHub, Java and more.

Code for America Brigade

Look for additional tech talent within a local tech Meetup, Code for America Brigade, or other civic tech organization if there is one in your community.

Slack Community

Join our online Slack community to recruit collaborators and chat with others. Start a conversation by location, issue, or anything else!

Step 3:
Conduct User Research

Collaborate directly with end users throughout the entire process to identify user needs, agree on a use case for your product that will best serve a real problem for the target audience, and ask for ongoing user feedback while you're developing the product. By building alongside your end-users, you can create a product that will better serve their needs.

At the beginning of the process, try to answer questions like "How do people experience the problem?" "Do they have any tools to help them currently?" "What are the gaps that exist in their current tools?" and "What tools do users wish they had?"

Key Actions


Conduct interviews with user advocates, or work with user advocates to set up conversations with your end-users to better learn about their needs, constraints, and preferences for digital tools.

If you're working with a user advocate that does community outreach, learn how they connect with their audience and any challenges they run into.


Consider other methods, like facilitating a design workshop at the start of the sprint to bring user advocates into one room to brainstorm together.


Create a detailed use-case to narrow down a broad problem statement to a specific user-driven issue to tackle.

User Scenarios

Use the user-scenarios as examples of user-generated data. You may want to work with user advocates and end users to create similar scenarios that provide a detailed picture of the problem you're tackling.

Jo - LGBT Youth experiencing homelessness

Samira - Survivor of domestic violence, relocating to new area

Barb – Neighborhood leader needing data for advocacy and planning

Gerald - Formerly Incarcerated Person reentering society

James - Neighborhood leader needing data for advocacy and planning.

Jen - Military spouse searching for jobs after moving

Loretta - Family experiencing homelessness transitioning out of shelter

Lynn - Section 8 voucher holder/low-income renter searching for housing

Supervisor Miles - Rural county official seeking to attract new business/industries

Tanya - Section 8 voucher holder/low-income renter searching for housing


Empathy Isn't Enough

Written by a past TOP participant, this article is about the user research workshop, user interviews, and other methods they used to build a useful tool for youth experiencing homelessness

User Centered Design Training

Watch this user-centered design training that Exygy created for Opportunity Project participants.

How to Conduct User Interviews

Provides tips on how to develop interview questions and conduct user interviews

IDEO Design Methods

Consider using IDEO Design Methods to narrow down your problem statement.

Step 4:
Explore Data

Once you have defined the problem from the end user's perspective, dig into data to find information that could help to solve the problem.

Key Actions


Determine what data could address the end-user needs you identified in your user research.

To Learn More

For example, if your user research showed you that youth experiencing homelessness need to access information on shelters and job opportunities through Wi-Fi on their phones, you may want to build a web app and use local government data on library locations, public Wi-Fi hotspots, and shelters.


Identify key characteristics of the data sets you need, such as the level of granularity (e.g., you may need neighborhood or address level information, rather than city level, for the data to be useful) or frequency.

For example, when building a product to help individuals search for jobs, very frequently updated data would be the most useful.


Connect with a federal or local government agency who can act as a data steward for your project. Many data sets are owned by agencies who understand the data in detail and will be able to answer relevant questions.


Use The Opportunity Project's Data Hub to discover issue-specific data recommended by government experts and test-driven by teams working to solve the nation’s biggest challenges. See links in the resources below.


The Opportunity Project: Curated Workforce Data

Datasets on workers, businesses, jobs, credentials, and more, recommended by government experts for solving key workforce challenges.

The Opportunity Project: Curated Natural Environment Data

Datasets on plastic pollution in oceans, agricultural decision making, air quality, and recycling.

Step 5:
Design and Build a Product

Once you identify a problem to tackle, the end users your tool will serve, and the data you will use, you can start building! Work collaboratively to build a digital product, including many voices as possible in the design process and seeking feedback as you design and build. Build iteratively, showcasing early versions and revising your design plans based on feedback. Remember that you don't have to build the perfect or "final" solution in 12 weeks!

During this phase, we recommend the whole group communicate frequently and come together remotely or in person every 2-3 weeks to demo their works in progress, ask questions, and share feedback.

Key Actions


Build according to the user research. Use the data you found during data exploration.


Share the concepts, wireframes, and prototypes early and often. Revise your design and plans based on the feedback you receive.


Conduct user testing or feedback sessions to improve the product and ensure that the people who need it are aware it exists.


Develop a plan for tracking success of your tool, such as tracking number of sessions, users, or downloads via tools such as Google.


Think about how you will connect end users with your product once the tool is released

What will your team need to build into the product to as many people as possible can use it? What types of organizations do you need to work with to help connect your tool with the people it's designed to serve?


Think about how you will maintain the tool over time, or what partners you need to help you sustain and continuously update and improve the tool.


If you're interested in replicating the Opportunity Project sprint process, here is a sample week-by-week timeline. Feel free to adjust your project plan and milestones based on what works for your team.

Week 1: Choose a general problem statement to focus on.

Week 2: Connect with others to form a diverse team. Establish ways to communicate -- such a listserv, online slack channel, or in-person meetups – so that everyone can collaborate and share progress.

Week 3: Conduct user research and identify a user-driven use case for your product.

Week 4: Identify information that could help to solve the problems you identified in your user research, and then find federal and local data sets with the information you need.

Week 5: Start to sketch out a product.

Week 6-7: Continue building based on feedback received from your demo, and continue to explore data and seek ongoing input from user advocates and end users.

Week 8: Conduct another demo and share a more mature and improved version of the product you're building. Seek more feedback, particularly from end users of the tool.

Week 9-10: Keep building, and hold interactive user testing sessions. Plan how you will share the final product with end users and other stakeholders.

Week 11-12: Get everyone involved in the process together to launch the final prototypes or Minimum Viable Products (MVPs).

Beyond the sprint: Continue to improve the tools, share the product with the target end users, and measure your impact.



Identify community leaders and other collaborators on Slack to provide feedback on work in progress.


Software developers can use Github to share code, ask questions, post new suggested data sets, share feedback on data, and more. Github is also an invaluable tool for logging issues or bug fixes that need to be addressed.

Step 6:
Share with End Users & Stakeholders

At the end of your sprint, or when you're ready to launch a prototype or "MVP" of your product, get the word out and make sure people know about the product you built so that they can use it! Share your product with everyone who will be interested.

Stakeholders might include:

  • People who you designed the tool for — the end users.
  • Organizations who can help share or scale the tool.
  • Other teams in The Opportunity Project community.
  • Local government or other organizations that collect and maintain the data you used.

There are many ways to spread the world, like social media, in person events, outreach through user advocates, and more. The Opportunity Project launches multiple tools at once, through coordinated events that incorporate in-person, online, and social media channels. Coordinating with user advocates is a great way to share your product with the intended end users through their outreach platforms. For example, if you worked with a veteran service provider to build a tool for veterans, you may be able to share your tool directly through their online presence or organization.

Key Actions


Consider hosting an event to showcase your product


Use press and social media to spread the word! Use #OpportunityProject.


Create a plan with user advocates to share your product with end-users in the community


Share your code! We highly encourage you to make your projects open source and free for use by the public. A local tool in Baltimore, MD can be used in Austin, Texas, just by using different data sources!


Launch event

Watch the video from The Opportunity Project launch event in March 2016.

Demo Day 2016

Watch the video from The Opportunity Project rollout event and demo in October 2016.

Demo Day 2017

Watch the video from The Opportunity Project rollout event and demo in November 2017.

Step 7:
Keep Improving, Share Metrics & Feedback

Your launch is just the beginning! After you launch your product and work with user advocates and other groups to deploy it to the target end users, keep building and seeking ongoing feedback to continuously improve your product. After the sprint, be sure you have a plan for how this product will live on after it is built. Will you maintain it? Do you need another organization to help sustain it? Will you hand off the code to another group for sustainability? Look to user advocates and local organizations who may be helpful partners in sustaining the tool.

  • Make use of the tools you put in place to track impact, like Google Analytics, to measure success of the tool.
  • Gather numbers on users, downloads, or other metrics, and stories from users on how they are using the product.
  • Share what you learn with The Opportunity Project community on Slack.

Share feedback on the data you used, or data you needed but couldn't find - this is critical to improving data quality and accessibility for you and other data consumers! Help us to improve by providing feedback on your experience using this toolkit.

Key Actions


Keep building and improving.


Ask technical team members for a commitment to routine maintenance and improvements to the product.

Talk to user advocates and other stakeholders about organizations that might want to help with sustainability.


Measure your impact: Collect information on things like page views and number of users through Google Analytics, outcomes and how your tool is helping individuals and communities.


Share information on your experience using this toolkit with the whole Opportunity Project community on Slack.

Use the #datafeedback channel to share feedback on things like data availability, access, quality, or formats with data stewards.