About the Project
Inspiration
As an immigrant who came to the U.S. at a young age, I often followed my mom to Downtown LA on weekends, where she sold t-shirts and socks on the street. I remember looking around and wondering why so many people were wandering aimlessly—half-dressed, sick, injured, and without smiles, their bodies frail as sticks.
I kept asking myself: “Don’t they have a place to stay?”
During COVID, the homeless population in LA surged to its peak. Despite the city pouring in millions of dollars, the crisis only seemed to grow worse. Around that time, I joined my local church on a trip to Ensenada, Mexico, where we served food to people in need. That experience humbled me, made me grateful for what I had, and ignited a conviction to find a way to give back.
I’ve never been homeless, and I don’t have the wealth to make huge donations. But I realized I had something else I could offer—my skills. And with them, I could build a tool to help people find temporary shelter, vital services, and a renewed sense of hope.
What I Built
I built a web application that allows people to:
- Discover nearby shelters by location.
- View available services such as showers, meals, counseling, and job coaching.
- Save shelters to a personal list for easy access.
- Receive real-time notifications when beds open up.
The goal is to give people a chance to recharge, restore hope, and take meaningful steps toward stability.
Challenges
1. Data Collection
One of the biggest challenges was gathering reliable shelter data.
- My first approach was using OpenStreetMap (OSM) since it’s open source and easy to access.
- However, the results were often inconsistent—for example, some entries labeled public parks as shelters, while others had incomplete details like missing names or addresses.
To overcome this, I turned to OpenAI to enrich and validate the data. The process worked like this:
- Start with the base data from OSM.
- Use AI prompts to search the web and fill in missing details such as available services (meals, showers, counseling), ratings, hours, and the populations each shelter supports.
2. Filtering for User Needs
I wanted users to be able to filter shelters based on specific needs, such as:
- “Find nearby shelters that offer free meals and accept women only.”
Because OSM data didn’t include this level of details, I refined the AI prompts to gather and organize additional information from the web, making the filters more useful and accurate.
3. Natural Language Search
I integrated AI-powered input parsing so users can type or speak their requests naturally.
- For example: “I’m hungry, find me shelters nearby.”
- The app interprets the input and looks for shelters offering free meals.
- While not always perfect—some results may lack meal services—it provides a strong starting point for more intuitive searching.
4. Admin Mode
Shelter staff with admin access can:
- Manage and update details about their shelters.
- Post real-time bed availability.
- Ensure information stays accurate and up to date for users.
What I Learned
This project was a huge learning experience for me. I gained:
- Hands-on practice with AI tools like OpenAI and Copilot to accelerate development.
- Experience integrating APIs and working with messy, real-world data.
- A deeper appreciation for the importance of user-centered design, especially when building for vulnerable communities.
The journey was both challenging and rewarding. If given more time, I’d love to keep improving the app—expanding data coverage, refining features, and making it an even more valuable resource for those in need.
Built With
- copilot
- fastapi
- mapquest-nominatim-search
- mondodb
- openai
- overpass-openstreetmap
- python
- rabbitmq
- react
- websockets
Log in or sign up for Devpost to join the conversation.