Collect and verify mobile reports


3 min read

A common scenario for mobile reporting looks like this:

  • A group wants to collect reports from their own trusted network and also to crowdsource reports from the public.
  • The group has some process to try to verify crowdsourced reports and needs to track verification.
  • The group wants to publish this data using simple visuals that answer their core question and invites comparison.

We recently worked with Pursue Lebanon to build a system for reporting breakdowns in service delivery in Lebanon’s Palestinian refugee camps. Pursue has been working with community organizations in all twelve refugee camps for the past five years. With more attention on the refugee situation in Lebanon, there are opportunities to push for improved service delivery with better, timely data. With so many tools for mobile data collection, you’d think that this should be easy to do with open source tools. It’s not. Here is our experience.

Collecting Data

OpenDataKit is a great open source tool for data collection on Android. When you have control over the device your volunteers are using, ODK is great. (Side note: If you like ODK, check out OpenMapKit an exciting project of the American Red Cross, SpatialDev, and Ona).

Like many organizations, Pursue relies on reports from volunteers using their own phones and can’t expect them to report through an Android app. This is why the ODK ecosystem and tools like Enketo and Formhub are interesting. Enketo allows us to serve a simple web form on any device. Formhub gives us the ability to convert and manage Excel-based forms. While this ecosystem is great for authoring forms, we found that this system had some shortcomings:

  • managing multiple datasets can be a challenge,
  • API lacks some features,
  • system is resource hungry, and
  • difficult to deploy and maintain.

We use these tools for what they are best at, generating web forms from Excel documents. We pull out the data via the API to use in other open source tools.

5cb3fa1bdd29  00e9 EhEnOy2 vY3s


No tool that we looked at had good workflow for verification. Most had no verification or had only a simple yes/no toggle. Many organizations need to append further verification data and notes to each report. Pursue’s partners are collecting and verifying thousands of reports. To make this manageable, the system must have a workflow for quickly reviewing whether reports are verified true, verified false or are unverified.

5cb3fa1bdd29  0fQkesoOKEAgBk2Zb

We used Django to build a verification platform that is useful and usable for the data verifier who is triaging hundreds of reports a day and for the field organizer who is trying to track the status of single report.


To publish and visualize the collected data, we designed a map and report interface that highlights the trends in service breakdowns between camps and within neighborhoods in camps.

It is important to clearly show users whether information is verified. For simplicity, we use a simple checkbox to filter out all reports that are “unverified” or “verified false”, even though we distinguish between these in the verification platform. We showed the verification status prominently on all report listings.

Reporters can select a neighborhood and choose a level of geographic precision. To protect the privacy of reporters, the system does not require reports to submit precise location information. Trusted administrators use the precise location when it is provided to verify reports. Regardless of the location precision, the public platform only shows reports to the neighborhood level.

5cb3fa1bdd29  0EfI VsJ9buvwRP3t

Join our talk on Wednesday morning to hear more. We’ll follow up later in the day with a Birds of a Feather session discussing how the open source data collection community continues to grow.

What we're doing.