News & Stories > A beginner’s guide to civic tech

Tools & Guides

A beginner’s guide to civic tech

Words by Lorin Camargo • May 27 2020

Here’s some advice we’ve gathered over time and with the input of several folks within the global civic tech community to help those who are just starting out in the field

Illustration of a person at the base of a mountain which has a flag with the text "Mt. Civic Tech" written on it.

Why now?

In September of 2017, after a devastating earthquake shook multiple states in México, its national civic tech community saw a huge influx of volunteers who wanted to help with efforts to improve disaster response

Today, we’ve seen a similar influx of volunteers — this time at the global scale — from folks interested in contributing to civic tech’s response to COVID-19

It’s exciting to see so many new faces around the community, and to (digitally) meet so many new people who are interested in improving both their local community and communities around the world at a time when we’re all facing such similar struggles.

This article is meant to be both a helpful guide for those jumping into the civic tech realm, as well as a warm welcome to all who are joining (whether it be due to COVID-19 or any other reason that you find yourself here).

So let’s get started.

What exactly is civic tech?

An illustration of a cube with eyes and a mouth looking up at a starry sky and crescent moon with a thought bubble with the text "what am I?".

Whenever I meet someone new and the question ‘what do you do?’ comes up, I always go through a quick race in my head to decide how exactly I’m going to explain civic tech this time around.

I haven’t met anyone so far who knows what civic tech is that isn’t already in the field.

As a community, we’ve spent a lot of time simply trying to define it. I’ll do my best now to explain what civic tech is all about:

Civic tech, in short is technology that positively impact society but that’s not the whole story.

It’s about creating civic innovation tools (tools that help make more democratic, transparent and people centered governments), but it isn’t only about the tools themselves — it’s about the process through which these tools are created.

One important element of the process, for example is that the people who will be using the tool must be involved in its creation.

Another thing that’s important to note is that you don’t need to be a technologist or know anything about technology to become involved.

Our global civic tech community is made up of people from all different walks of life and though many members include software developers, user experience designers and government employees, absolutely anyone is welcome to take part.

Having a network of contributors that come from different backgrounds and abilities is incredibly valuable because diversity of skill and perspective is needed to create tools that can help everyone.

Now on to the guide —

How will this guide help?

Illustration of a gravestone with the text "RIP civic tech project".
Another one bites the dust.

A lot of civic tech projects fail, and this is not necessarily a bad thing — most of the insight from this article, for example, has been born out of lessons learned from failed projects.

But while there’s always a positive side to failure, we’d like to help you avoid the pit falls we’ve already faced so that you don’t need to start from square one when setting off on your civic tech endeavors.

We’re not saying we know it all, but here are some things we’ve learned collectively over time that might help you get off to a better start than we did:

Common challenges

1. The wall between tech and government

  • There is a disconnect between those who work in tech and those who work in government or for civil society organizations (CSOs).
  • Tech organizations have a tough time understanding the context that government and CSOs are working in and there’s a poor understanding of technology by government and CSOs.
  • Luckily, within the Network, there are efforts to mitigate this misunderstanding — but we still have a long way to go.

2. The assumption that tech is the whole answer

  • If a project relies only on the tech component and does not understand the political, social and economic context, there is a high probability that it will not be adopted or used by the people that it’s built for.
  • Technology will never be the entire answer to any complex, social problem because it takes more than tech to solve such intricate issues.
  • Societal problems tend to be highly politicized and involve several stakeholders. Because these issues are so complex, they behave like moving targets. Just because you solve for one part of the problem, doesn’t mean you can fix the problem by that means alone.

3. Focusing on the product instead of the process

  • We sometimes forget that the aim of civic tech is not building apps, it’s bringing people together and giving them options to better communicate their needs.
  • If throughout the process we don’t take a look at our target audiences, their contexts and accessibility and only focus on the product itself, we can cause more damage and mistrust of technology in the long-run.
  • Processes must be a two-way dialogue with the community and governments.

4. Creating products that don’t help

  • Such products are those that do not solve any problem or are not needed at all.
  • Though intentions are usually golden, it can be easy to create a tool that is not actually useful to the community that it’s built for — this usually happens when communities don’t participate in the creation process.
  • Surveys show that only a minority of civic tech organizations do any user research before choosing a tech tool and even fewer test the tools with potential users.

5. Poor Communication

  • A lack of transparency and clear communication can lead to confusion once a tool is ready to go live.
  • If end users don’t really know what a tool does or it’s not clear what the objectives are or what impacts it will have on people’s lives, then it will be difficult to engage users and make real impact with the tool.

6. Funding issues galore

  • The funding structure of civic tech tools are often inflexible, unrealistic, or unsustainable.
  • It isn’t easy to create a clear budget when designing a project because there are many unexpected circumstances that will pop up while the project is created.
  • It’s also important to note that government tech is typically funded as a “project” with a start and end date — this doesn’t match the reality that tech funding needs to be ongoing so bugs can be fixed and improvements can be made in response to user feedback.

7. Weak or unclear collaborations

  • Partnerships or collaborations that don’t have clear communication, expectations or mutual understanding can lead to unmet expectations and the break down of these collaborations.

8. The limits of volunteer help

  • Civic tech projects see a lot of volunteers that don’t fully commit to their projects. A lot of the time, projects are dropped for external circumstances (e.g. full time job responsibilities). This makes it difficult to grow and maintain long-term projects.
  • In a country with low income levels there is a big opportunity cost to volunteering one’s time.

9. Duplication of effort

  • It’s easier to start a new project than it is to find, join or replicate existing ones. Because of this, there’s a lot of “re-inventing the wheel” in civic tech.
  • Also, government methods don’t usually look to reuse components or build for reuse, so you’ll likely need to go out of your way to make this a priority if you’re collaborating with government.

What we recommend

Illustration of a book with the cover text "Book of Spells".

1. Keep it simple

  • Processes and messages should be simplified as much as possible.
  • Avoid jargon whenever you can. And when you can’t, help explain the terms that are unfamiliar to others.
  • Make things easy so that as many people as possible can understand and participate in what you’re doing.

2. Build with, not for

  • Ask people what they need, invite them to participate in the design and evaluate their ability to use technology.
  • Test the tool with different groups, multiple times. Do the testing early on (before you launch) in order to identify problems that users might face.
  • Focus on the organizations or community groups that work on the ground and understand the context and complexities of the problem that you’re tackling. (More information on this here.)
  • Put in extra effort to engage with those whose voices are often stifled or ignored. They need the be heard the most.
  • Don’t assume that because you can use a tool, the rest of the population can do it too.

3. Have crystal clear partnerships and collaboration strategies

  • Define or formalize partnerships so all partners are clear from the start about their role, responsibilities and contribution to a project.
  • Within any collaboration, it’s important that all parties understand expectations. It might help to draft up a contract or collaboration document that states expectations before you begin to work together.
  • Here’s an example of a collaboration document that Code for Australia created in regard to collaboration with (us!) Code for All.

4. Learn from others

  • Explore similar tools that have been developed and integrate new learnings from previous experiences and on-the-field collaborators.
  • Repeating processes and adapting them is key. Build as much of your product as possible with off-the-shelf tools.
  • Reach out on the Code for All Slack to find folks around the world or within your country who might be able to lend advice or resources.

5. Don’t leave anyone out

  • Think of all the different sectors you may be leaving behind while creating a tool — awareness is key.
  • Develop strong strategies to include all citizens (and non-citizens) in the conversation — communication is key.
  • Socialization and literacy of the tool and of technology itself are necessary.
  • It’s important to meet people where they are, and reach out to the community at its level (e.g. don’t ask community members to use technical platforms like GitHub to talk to you).
  • Don’t forget that not everyone is in the digital space. Complement your online initiatives with offline strategies that allow people to participate in the process.

6. Think long term and be flexible when it comes to funding

  • When creating a budget, consider all possible long term factors and external or additional changes that might pop up.
  • Create flexible funding strategies and always be ready to negotiate with funders.
  • Don’t start working with new tools if you don’t have sustainable and substantial funding.

7. Know who and what you need

  • Define and capture the work you need to do and the roles you need to fill for your project, understanding that people might come and go.
  • Take on the ‘everyone-is-a-technologist mindset’ — collaboration, user engagement, building small and testing regularly is more important than skills or past experience.

8. Be ever-adapting

  • Many civic tech tools are new applications made for a local market, so it’s often difficult to predict how the public will react.
  • Think of ways to creatively gather user feedback, gather it regularly, listen to it closely and make the changes that need to be made.


Illustration of a person on the peak of a mountain with two mountain peaks in the background.

One of the wonderful and sometimes most frustrating things about the world of civic tech is that the job is never finished. When it comes to tackling complex social issues, there’s always more to learn and do.

The information above is only a stepping stone for getting started, and it’s something we’ll continue to work on, add to and adapt as we go.

Let us know if you have any ideas or advice for folks starting out in civic tech by starting a discussion on the Code for All Slack, or add your thoughts to this working document.

Check out some additional resources herehere and here.

And if you’re a woman jumping into civic tech, please take some time to read insights by the incredible Grace O’Hara.

Here’s a big thank you to everyone who has contributed to these concepts over time, including but not limited to: Lina PatelAlvaro MazLia MilitoChristopher WhitakerKhairil YusofSheba NajmiMicah SifryKrzysztof MadejskiLaurenellen McCannGrace O’HaraCarl V. LewisAdriana Spulber, Lynn FineGreg BloomMatt SawkillSofía CoronaKelly Halseth

Illustrations by Lorin Camargo

Author picture

Lorin Camargo

Co-Director at Code for All

As a Co-Director, Lorin helps shape communication, team, and organizational strategy for the Network. Before Code for All, she was involved in civic tech through work with Code for San José (a Code for America brigade), and Code for Australia. From seamstress to civic techie, Lorin formerly worked in fashion production and as a freelance sewing instructor.

More News & Stories

Keep up to date with the global civic tech community