Three activist tools we need

Post Trump, there is a ton of energy in the tech scene to build tools to support political change. Dozens of groups have emerged, from new startups to hackathons to clusters of volunteers.

However, many developers don’t come into the space with direct experience as activists, so they have to speculate about what kinds of products people who want to achieve political change really need — and that’s a potential problem.

Venture capital pioneer Paul Graham highlights the perils of such speculation in How to Get Startup Ideas. In the essay (which you should read!) he strongly recommends building for problems you yourself face, since then you know you’re not just making up a problem you happen to have a neat solution for (or even worse, a neat-sounding solution!)

I do activism full-time at Fight for the Future (and now A-Teams) so I’m constantly facing tough activism problems on campaigns and with others I work with. I also have a bit more tech and product experience than most activists, since I co-founded a nonprofit software startup and managed software projects for several years. (I’m finally learning to code too.)

A hackathon just asked our organization to contribute some ideas for tech products we need, and the three projects I offered address problems that we face constantly as activists. If you’re looking for something you can build to support political change, I’d start here.

1. Tools for A/B testing messages, on the web.

Most pages we create for activism campaigns are very temporary and ephemeral. We only have sufficient traffic to A/B test for brief moments, but we also want our pages to work the best in those moments.

Most pages just have one simple goal: take action. We want to be able to come up with some ideas for different bits of text in the page, and use traffic to figure out which ones best achieve the goal, and begin using the best ones as soon as we suspect they’re the best, while continuing to test others to some degree until we’re sure. We should be able to see who won and add more tests, but we often don’t care. We just want the winner to win and get used. Optimizely forced us to babysit experiments and go back and code the winner. That’s really bad for our use case.

The technical problem here is called the “Multi-armed Bandit” problem, there’s a lot of research on it, and there’s enough node modules for it that I bet somebody has solved this.

The system should work with a variety of CMS’s and page creation systems. Anybody should be able to use it.

We’re focused on text for starters since it’s the easiest to change. Adding and eliminating elements in a page is a great thing to be able to test too. Text in buttons also matters a lot.

2. Tools for making a website about something political, fast.

The web is the most direct and democratic medium we have for politics, but if the government does something ludicrous it’s very difficult to launch a quality response on the web fast enough to catch the first news cycle (as little as 1–2 hours, and no more than 4 hours).

When launching a site, there are lots of tiny details that can take all day, at which point we’ve missed our window. To get some insight into this challenge, try to launch a simple but complete site about a political problem, and see what slows you down. Then build a way to do it fast.

Some more notes:

  • The vast majority of blog themes don’t quite cut it for grabbing people’s attention and asking them to take some urgent action. Neither does (unless that urgent action is a petition, which can be cool but there are many, many more useful kinds of actions). Things like Wix or Squarespace are never fast, flexible, or “real” enough for us, though there might be options there that are worth reviewing.
  • It’s difficult to persuade somebody that something is important with a social media page. Social media posts and pages are extremely confining in terms of message and what we can do with them. They aren’t a solution.
  • Microsites can be perfect because they have a simple brand (starting with the domain name) and no cruft or ulterior agenda. They clearly were just made to tell you about one important thing. People like that. And this simplicity makes cutting through the noise so much easier. But making a complete microsite is time consuming.
  • If you have as little as 1–2 hours to respond and catch the news cycle, how do you put up something crafted and polished that can go to the top of Hacker News or Reddit? How do coders, designers, and people who are just great writers and activists work together to make the site awesome? A bootstrap theme with excellent writing might work for geeks, but how do you make it a little epic, or at least not too boring and wordy for the average person? (This matters.) For ideas of what we’re talking about, think about the marketing pages that Cards Against Humanity makes. You can also check out the sites at

A tool for this should:

  • Spit out something to Github that any developer or HTML-familiar person will find easy to update and hack on. Being able to hack the design and layout is extremely important.
  • Host the site somewhere make it easily updated on Github.
  • Have a default that looks good on mobile and is hard to break.
  • Have <meta> tags for Facebook and Twitter and Google with smart defaults based on the h1, say.
  • Enable you to embed stuff (a Youtube video, a map of protests, etc.)
  • Create a form to enter your phone number to call somebody, e.g. Congress. When you click “call” you see a script and an ask to share. (If this part seems tricky, it’s something my organization has done before, so we can add this piece in and make it work.)
  • Have big sharing buttons.
  • Enable you to buy and hook up a domain name without having to spend 20 minutes futzing around. Assume you are going to want to buy a new domain name for each project, so make domain search and purchase as fast as possible. (Hey, charge $50 for the domain. Business model!)
  • Include a very very simple way for you to tweak and iterate text and images before you launch — -you are going to end up doing this many many times.
  • Include a couple simple styles that look good and convey seriousness and urgency while working for a range of issues.

It would be nice if the tool also:

  • Was easy for a first-time user to use. (That is, it’s not just for power users.)
  • Included SSL. (There’s a Cloudflare hack to use Github Pages but it’s not ideal.)
  • Made sites that were just HTML/CSS or used a cloud IDE that’s super fast to get started with. Having to mess with rvm and nvm to work locally slows people down, especially designers.
  • Included the ability to live edit in place, even if it’s just in the initial creation phase. It’s hard to evaluate copy until you see it in a real page.
  • Included a live preview of how the sharing text/image will look in Facebook.
  • Let multiple people work on the site at once and comment on each other’s work. Many projects start in as Google Docs, so maybe a Google Docs template and the ability to import from that is a good UI.
  • Have a very forgiving layout, let people tweak the size of the text easily to make it fit, or to give it the right emphasis. It’s difficult to anticipate how much text you’ll need to communicate an idea. Pages that use javascript or vh vw CSS units to just make arbitrary text fit properly and look nice can help.
  • Automated or simplified the process of updating the Facebook sharing info (on the Facebook side) using the fb og debugger. Don’t make nontechnical users have to figure out why the sharing text didn’t update.
  • Almost all of our campaigns start as a Google Doc, since that’s a great way to collect feedback and polish the message. Being able to move from a starting Google Doc template to a simple site would be huge, even if the template is somewhat inflexible or fragile.

3. A tool for having a protest everywhere at once.

Being able to quickly organize protests everywhere is a superpower.

Lots of people doing something (anything) is newsworthy, especially on an interesting issue, and this creates political pressure. It also energizes participants. A distributed protest (literally a giant spreadsheet full of Facebook events, linked to a map showing lists of cities and links to events) let Europe’s internet freedom movement win a surprise victory against ACTA in 2012 by bringing hundreds of thousands of people into the streets in dozens of countries at once. In the US, Fight for the Future used protests around the country to win the public debate around the iPhone/FBI issue. Local network news covered the protests in many cities, and eventually it got on Good Morning America. Post-Trump this is an even bigger deal. The trick is building something that anyone can use, even groups without any kind of technical capability. Think or Indiegogo but for real life protests instead of tweets or crowdfunding.

This tool should include these features:

  • Somebody can create a new landing page for a new protest with a unique shareable URL.
  • Somebody can customize sharing text/images for the landing page and there is a smart default.
  • People can sign up to host a protest and be the anchor person, picking a location and being the first one to show up and welcome people, say a few words, etc.
  • There’s a map of the protests. (See image above.)
  • There’s a list of the protests, including city names, locations, and RSVP phone numbers. This is important for journalists.
  • Clicking on a pinprick on the map or a city in the list gives you basic info (address, time) and a link to a Facebook event.
  • Leveraging Facebook events is crucial for organic growth (and simplifying the tool). People should RSVP and share.
  • The map is easily embedded in a separate page so that organizations with pages can use the tool.

It would be nice if the tool also included these features:

  • The map shows where there are hosts needed — -where there are lots of willing participants but no scheduled protest yet.
  • People can RSVP without Facebook.
  • Participants get good reminder messages outside Facebook in the lead-up to the protest. An ask to share and invite friends the night before, a notification morning of and 2 hours before.
  • Let people who don’t want to be hosts enter their location if there isn’t a protest near them, and get a notification when a protest is organized in their area (via email or SMS or a Facebook message).
  • Some system so that you don’t need hosts to anchor a protest at all. Each city could have a default protest location, such as city hall. There would need to be some system for changing the location.
  • People can download simple printable materials for signature gathering.
  • People can use their phones/tablets as protest signs. See for a nice prototype These are actually really photogenic!
  • The page displays a nice gallery of protest photos from different cities. Participants should get a link or notifications. This is important for journalists and other communications.
  • Let the page creator vet the hosts (with a quick phone call, e.g.) to make sure they seem serious and not off-putting, and to make sure journalists won’t show up to an empty protest (which is bad).
  • The list of protests with locations and RSVP numbers can be embedded in a separate page (not only the map).