Individual NGOs conduct missions independently and discreetly. Discretion is especially important in initiatives that seek to thwart wildlife trafficking and poaching. From covert operations to research, missions can overlap, resulting in mission compromises and conflicts. There’s no standardized, secure method for flagging investigations and the only place for organizations to find each other is through word of mouth and on the ground.

We were inspired by the efforts made by organizations that seek to end wildlife trafficking and poaching, who want avoid conflicts or forge new collaborations in other groups working in the same area. We built a mobile-first web app that can be used on any device to allow organizations to learn when potentially conflicting initiatives could be taking place and contact those interested parties.

What it does

NGO Hub offers a secure way for NGOs to let other groups know about their presence in a certain area at a certain time. When an NGO registers an operation in the system, they will be notified of any potentially conflicting operations being held in the same time and place. They can also subscribe to alerts to be notified when any other operations are registered in the platform that could conflict with theirs. Conflicting events are only presented to the user as contact information that the NGO can choose to act on in order to collaborate or avoid conflicts with other NGOs. All other data will be hidden in order to protect the privacy of the operations and organizations.

How we built it

We built our front-end using a mobile-first approach with React and Typescript. Our goal was to keep the UI as simple as possible and only make ore intensive network requests when necessary. We learned from our customer research that people out in the field protecting wildlife from trafficking and poaching may only have internet connection 75% of the time and it may be spotty. Keeping it simple and mobile-first allows our target users to use this web app on any mobile device in as many scenarios as possible.

We built the backend using MongoDB, NodeJS and Express. We used the cloud platform - MongoDB Atlas which was a free tier and had great query rendering services on geospatial objects. The cloud platform for the database was easy to set up and quick to retrieve/post data. A NoSQL database will also help us scale our application in the future. As our team was familiar with javascript, we used NodeJS and Express. This helped every member of our team contribute to the project.

Challenges we ran into

  • Typescript is still relatively new to us so there was a bit more of a learning curve than if we had used vanilla Javascript
  • Complex calculations were needed to find operations where the radii of their locations overlap. In the end we were able to use GeoJSON Object of MongoDB to store geospatial data
  • It was difficult to find more anecdotal evidence of experiences of our target users (potentially for their own safety)
  • Before we were able to talk to a real potential customer, it was a challenge to determine the viability of our idea or pinpoint the biggest swings and what we should focus on
  • Balancing security/maintaining anonymity for users with covert operations who were the inspiration for the problem statement with creating a usable and useful application that can be used by many different kinds of NGOs who have different needs

Accomplishments that we're proud of

  • Building a full-stack app with all the features we wanted in our MVP in one day
  • Six engineers creating a simple UI flow that we feel is pretty intuitive and easy to use
  • Google Maps integration with autocomplete search, reverse geocoding, getting current location, and adding shapes like the marker on click and radius circle

What we learned

  • Many NGO operations need to operate at a covert level to protect their intel with potentially grave consequences; this impacted our focus on discretion and exposing minimal data
  • Splitting up the work by individual was an effective strategy, but we should have been integrating often to prevent conflicts

What's next for NGO Hub

  • Historical heat map of operations for research purposes
    • This would allow researchers to get an idea of where there are NGOs at work and where there are gaps.
    • We would only use historical data and allow users to choose whether or not their data is shared, the data would be decoupled from the organizations so we only keep the meta-data.
    • Pending additional customer research to determine whether even using historical data could compromise the operations of the most covert organizations and individuals.
  • Optional categorization with different privacy levels
    • For some organizations doing work like ecology research or ecotourism, it may not be necessary to keep all information about their operations private. By allowing these groups to include additional details like a description and public tags, groups doing more covert operations can see these in search and not need to contact the groups if they know that the operations will not conflict.
  • Open-ended search
    • With the additional of some public information for operations of a lower severity, an open-ended search would allow groups to get an idea of some of the operations happening in the area without the need to contact the organization to know what the conflict is. Since there could be as many as 40-50 organizations working in one area, this will allow organizations to more easily filter out the operations that are irrelevant to their operations in favour of more potentially critical conflicts.
  • NGO interest matching
    • Matching NGOs with similar goals in order to increase collaboration and create new networking opportunities.

Built With

Share this project: