Inspiration!

We were inspired by the many publicly available resources that currently exist for the homeless but aren't fully accessible. Most shelters have websites, food banks have their hours posted, transit apps also exist, but none of them are designed for someone who might not actually have stable internet or a permanent address.

As high school students, we've never experienced homelessness ourselves, and we were aware of that going in. But we've seen people in our communities who have. Additionally, we often take for granted that there's an app designed for almost everything in our lives.

Google maps >> best way to get somewhere

Khan Academy >> new skills for free

Notion >> planning our future

Despite all the resources that exist, why is there no app that exists for people experiencing homelessness to navigate those resources? There is no Google Maps that knows you can only afford the bus and need to arrive before the shelter closes. We wanted to build this.

The current system makes it very difficult to find help that already exists, and that's the biggest thing we wanted to solve.

What it does

Grounded in a mobile app for people experiencing homelessness. It has two main components: an immediate needs side (find nearby food, shelter, and transit routes with AI-ranked options based on your budget and construction) and a long-term stability side (resume building, legal document explainers, income path suggestions, and a full phased stability plan). We wanted to make sure everything was personalized, so the app learns your situation, household, and barriers during the onboarding, and every AI response is tailored to each user's needs.

How we built it

We built Grounded with React and Tailwind CSS on the frontend, powered by the Google Gemini API for all AI features and the Google Maps API for routing and location. The AI layer uses structured JSON output so responses are always formatted and predictable. User data stays (purposefully) on-device in localStorage to ensure there are no accounts or data collection.

Challenges we ran into

Honestly, the hardest part was making the AI responses genuinely useful rather than generic. It's very easy to get Gemini to say something that sounds helpful but misses primary constraints of the user (like no permanent address, no car, a criminal record, multiple children). We spent a lot of time ensuring the AI correctly weighted each of the user's needs. Additionally, getting the routing feature to degrade gracefully when location was blocked or the Maps API returned estimates instead of exact times was unexpectedly tricky.

Accomplishments that we're proud of

We're proud of the way the app actually feels like it was built for the user; one of our primary goals from the beginning was to create something that felt almost familiar because of how customized it is to new users. The tone throughout (including UI, the AI responses, the onboarding) tries to treat users are capable people navigating a difficult situation. We were aware that the general sentiment towards the homeless tends to be seeing them as charity cases, so we aimed to do the opposite. We were also able to achieve quite a bit with our app: personalized AI guidance, live maps, route ranking, a progress tracker, and a full resources guide.

What we learned

We didn't fully understand before how interconnected every barrier is for people experiencing homelessness. You can't get a job without an ID, you can't get an ID without a permanent address, and you can't get a permanent address without income. Initially, we tried to segment this cleanly in our app, putting issues and priorities into different buckets. Yes, this made the app more "functional" and work cleanly with every API, but building the app this way made it much more confusing for the actual user.

What's next for Grounded

We would love to integrate a real local resource database (like 211's API) so shelter and food results are live and location-specific rather than general. Offline support is a big priority too, since many people experiencing homelessness have limited or inconsistent data.

Longer term, we want to partner with a local shelter or other organization to actually test Grounded with real people and let their feedback go into what's next.

Built With

Share this project:

Updates