I saw this Hackathon three weeks ago and felt inspired by the non-profits fighting human trafficking. There's a lot of data that gets generated and human trafficking has a significant location component to it. It occurs in neighborhoods, cities, businesses, and events across the world. I wanted to make a tool that could help stakeholders at these non profits make data driven decisions and improve their operations. Live demo link at the bottom of this page!
What it does
Geo Data Dash (GD2) in its current form makes it easy to visualize, submit, and access geo-enabled data. I created a sample dataset of 200,000 records to demonstrate how it would work with real data. The dashboard component allows users to get trafficking reports within a given area (e.g. Denver, Colorado). When a polygon on the map is clicked it fetches the data in that area and updates the charts. These charts show data derived from the 25 business models of human trafficking and the 10 systems involved in those business models.
The report section of the website allows users to add a report to the application. When a report is submitted the report is compared to all other reports within a 20 mile radius. Each field in the submitted report is compared to the corresponding fields in the nearby reports. A similarity score is calculated for each nearby point. If a threshold is reached, that nearby report will be added to a list. This list of reports is then converted to a polygon area that will indicate an area of similarity. In the context of human trafficking similar reports may indicate human trafficking activity. When reports are over a threshold an alert is triggered to notify the user of potential trafficking activity.
In the future I'd like to leverage AWS Comprehend to extract key phrases from witness accounts and add that as an element to improve accuracy of alerts. For example, if you had 4 reports that were somewhat similar but had key phrases of 'blue truck', 'hotel', and 'two young women' then this could indicate human traffickers operating in a geographic area.
Challenges I ran into
It was challenging to sync the charts with the spatial layers that was clicked. I also found it difficult to rapidly test Lambda code that relied on external libraries.
Accomplishments that I'm proud of
Designing a relatively clean UI for interacting with the data. I'm also excited about how location, data, and AI can be used to generate novel functionalities and capabilities.
What I learned
I learned how to use Mapbox and process large geojson features.
What's next for Geo Data Dash
- Making UX/UI improvements.
- Adding additional functionality for the Cases, Map, and Analytics tab.
- Further generalizing the code to fit with any domain that manages spatial data.