Summary
The global refugee crisis reached a new level of awareness with the war in Ukraine. In response, UAWelcome created a platform that uses graph technology to connect individual refugees and their needs with a fast-growing community of volunteers and the limited and scattered resources. Their application is already in use connecting volunteers and scattered resources with Ukrainian refugees and helping refugees seek asylum in the U.S.
Inspiration
The inspiration for UAWelcome came as a response to learning about what was happening in Ukraine in February 2022. Desperately searching for ways to help refugees, the winners started to put together a website called UAWelcome.org. They decided to focus on helping refugees entering the United States to start a new life – find a place to live, help with paperwork, find a school for the kids, etc. From the beginning, it was obvious that many people wanted to help but didn’t know where to start. They had to come up with a framework to carefully consolidate and coordinate available resources. The whole operation could essentially be described as a human-in-the-loop ETL process. But as the tasks and forms were constantly changing, and data grew messy they realized knowledge graphs in NLP applications might be exactly what was needed.
What It Does
Graph allowed them to build a crowdsourcing platform that is simple to use and maintain despite the ever-changing requirements. On the front end, participants fill out simple forms to specify what their needs are or what they can offer. This data is exported into csv, parsed and stored into TigerGraph. Then, volunteers can access the data via task-specific apps, so that they only see and edit relevant slots, reducing cognitive overload and risk of accidental changes. The current tasks include refugee and host verification, arranging plane tickets, and matching refugees with host families. If someone is looking for shelter, they can match them with those who offer a home in an intelligent way, aiming to maximize individual experiences as well as optimize overall efficiency. People who need help with paperwork or school enrollment are connected to those who have already succeeded with the task and opted to help others. Volunteers supporting the backend operations can access the apps on their own schedule and do one task at a time. The simplicity of the apps – both from UI and business logic perspective allows them to quickly onboard new volunteers with various levels of technical skill.
How We Built It
Having data in csv format, the original idea was to use graphs only for modeling the data and keeping it organized. It quickly became apparent that they needed a better way to interact with data they juggled CSV files with Python scripts and Google Sheets. The solution is built around Flask apps. Each app is basically a task-specific view generated by a pre-installed GSQL query in TigerGraph. The pre-installed query feature allows us to reduce the amount of boiler-plate code. Additionally, TigerGraph helps to synchronize the queries with the schema changes. The query result is rendered as an interactive html table. We can control how different columns behave, whether they are editable, allow drop-down menus, etc. Once a field is edited by the user, the update is reflected in the graph and can be picked up by another app for a downstream task.