Project Story: Smart & Fair Refugee Placement System

💡 Inspiration The inspiration for this project came from a fundamental question: "How can we ensure that the welcome we give to refugees is backed by a plan for their success?". Often, resettlement fails not due to lack of resources, but due to poor distribution that leads to overcrowding in some cities while others remain underutilized. I wanted to build a system that moves beyond random assignment to a data-driven approach that prioritizes both human needs and urban capacity.

What it does

Our project is a Smart & Fair Refugee Placement System designed to revolutionize how resettlement is managed. Unlike traditional methods that can lead to overcrowding, our system uses an intelligent allocation algorithm to balance individual family needs with city-level infrastructure constraints.

Dynamic Load Balancing: It uses a real-time capacity slider to prevent any single city (like Buckeye) from becoming overwhelmed, ensuring a sustainable distribution across the country.

Smart Matching: For every case, the system calculates a Match Confidence Score, ensuring families are placed in environments where they are most likely to thrive.

Interactive Decision Support: Provides a high-level dashboard with real-time Metrics and a case-specific Dropdown for granular auditing of resettlement decisions.

How we built it

The project was developed using a robust data-driven architecture within the Hex platform, moving from simple predictive modeling to a more sophisticated optimization system.

The Technical Pivot: We originally considered a Random Forest model, but we transitioned to a Constraint-based Optimization algorithm. While Random Forest is excellent for static predictions, it lacks the "spatial awareness" needed to handle dynamic city capacities in real-time.

Data Orchestration: We integrated multiple datasets—including school locations, city populations, and refugee case files—using Python and SQL to create a unified view.

Frontend Logic: We utilized the Hex App Builder to link Python-based logic directly to UI components like Sliders and Dropdowns. This allows the Metric cards (Total Cases, Avg Confidence, Cities Covered) to update instantly as users manipulate the system's constraints.

Optimization Formula: The core logic follows a weighted objective function: Target=Max(Match_Confidence) subject to(City_capacity \leq User_Limit)

The Challenges I Faced

I started with a random forest algorithm, but it didn't achieve the desired result; its matching accuracy was 100% for all cities. "Geographic Fairness" was needed. A random forest only pursues "accuracy," while the project aims for fair distribution. so I use XGboost.

By changing the algorithm, we could force the system to search for the "second-best" or "third-best" city if the first city was full, ensuring that refugees were spread across diverse cities, as reflected in the number of cities covered.

Balancing Efficiency and Fairness: The main challenge was preventing the algorithm from placing all cases in the "ideal" city (like Buckeye). I overcame this by setting a strict maximum capacity, forcing the system to search for the best alternative location when the city was full.

Visual Representation: Ensuring the data remained scannable and professionally presented required continuous checks between the logic and implementation modes using a hex system.

Accomplishments that we're proud of

Built a Fully Functional Interactive Tool: We successfully transformed a static data analysis into a dynamic Decision Support System using the Hex App Builder. Seeing the metrics update instantly as we move the capacity slider is a testament to the robust logic we built.

Solved the Fairness vs. Quality Dilemma: We are particularly proud of our "Smart Overflow" logic. Instead of just assigning cases to the best city, our system intelligently redistributes refugees to the next-best location when a city reaches its capacity limit, ensuring city sustainability without sacrificing family welfare.

What I Learned

Through this journey, I learned that data alone isn't enough; context is everything. I gained deep technical experience in:

Dynamic UI/UX: How to link Python variables to interactive App components like Sliders and Dropdowns. Algorithmic Fairness: The importance of building constraints into AI to prevent unintended clustering. Storytelling with Data: Using Metrics to provide instant clarity to stakeholders.

What's next for Refugee Resettlement ML

Real-time Integration with Job Markets: The next phase is to integrate live labor market data. By matching a refugee’s professional skills with specific local industry needs, we can move from "placement" to "economic empowerment". Long-term Success Tracking: Implementing a feedback loop that tracks the integration success of families after 12 or 24 months. This data can be fed back into our algorithm to refine the Match Confidence Score based on real-world

Built With

Share this project:

Updates