Problem Statement 🙋♂️
“How can we effectively address the pressing issues of homelessness and lost animals in our communities, ensuring swift assistance and improved well-being for those in need?”
Inspiration 💫
As I stroll down the streets of downtown Davis, whether I’m grabbing boba at Lazi Cow or sitting around the bonfire at Davis Commons, I always run into a homeless person. Homelessness is becoming a rising issue in Davis and we wanted to find a way to support them in any way they need.
On my bike ride home, every now and then I see a stray cat skittering across the street and I wonder if they are frantically trying to find their way home. Even in the apartment complex I live in, there’s a posse of black cats that always lounge around. Sometimes, good samaritans would leave food out for these stray animals but that’s not a stable way for those cats to get the support they need.
Although very different issues, they both ultimately boil down to helping those who are displaced by providing them with the resources they need. Our group aims to find an innovative way to find and support these groups.
What it does 📍
When a user spots a homeless person or a lost animal, they can drop either a person pin or an animal pin respectively, alerting the nearest relevant organization to the pin location. If a homeless shelter or food bank gets a couple of pin notifications for the same area, they can make a trip to the location to provide the individual(s) with food and supplies, while also informing the individual of the organization’s location if they want additional support. Animal Shelters can use the pin notifications to track down and rescue lost animals. The app also offers features that allow you to volunteer and donate to these organizations and provides you exclusive coupons for Davis businesses for using the app.
How we built it 🛠️
Our User Interface was designed in Figma and further implemented with React Native on the front end and Firebase for the backend/database connection.
We decided to build 3 main pages: the Map page, the Shelter page, and the Profile page.
On the Maps page (our default home page), we used the Google Maps API in react native to display our map and used custom pins with a geolocator for user location to show pins dropped by other users, pins for the shelters, and a map centered around the user’s location. We used a Haversine distance algorithm to find the shelter closest to our dropped pin and used the React native Linking library for email functionality. Additionally, we also used reverse geolocation to find the address of the dropped pins from their latitude and longitude to give the shelters as much valuable information as possible. We developed the UI using a stack navigator and had draggable pins to customize the dropped location as well as a field to enter a custom message to be sent to the designated shelter. All of these functions get updated in real time so whenever a new drop is posted, all users are able to see it on their map within seconds.
On the Shelters page, we developed a list of the food banks and homeless shelters in the area on one tab and a list of animal shelters on another tab. We can tap on one of these cards in the list to get a further description view with buttons that allow you to either volunteer or donate.
Lastly, the profile page has the user's basic information about their Avatar(initials), name, dropped pins, volunteer opportunities, and coupons. The coupons provide an incentive for users to continue being aids to their community by giving them deals for their confirmed pins. The volunteer opportunities are there for users to give back to the community in addition to using the app. For the login page, we decided to use Firebase Google Authentication and connected it to the implemented Figma design for a seamless UI.
Challenges we ran into 😰
One of the biggest challenges we faced is narrowing down the scope of the project. On the development side, figuring out the map functions like dropping pins and getting user locations was very difficult given the time constraint. There were many features we wanted to implement in the ideation phase but as the project progressed, we realized that we have been overambitious in our pursuits. We overcame this by discussing the essence of our project and prioritized the features that aligned with our goal: supporting displaced groups.
Accomplishments that we're proud of 😁
We are very proud of how cohesively we worked together, like a well-oiled machine. The team got to learn new things, hone their skill-sets, and get out of comfort zone to progress ourselves not only technically, but spiritually 🙏.
What we learned 📚
We learned how to develop a full mobile application, implemented from a Figma design with a design system in place. We also got to learn more about developing a pitch and learned how to work in a collaborative setting with a PM, Designer, and Developers, creating a unique workflow.
What's next for nomad /\ 🔮
nomad is not done yet! We hope to continue by developing the moderator side for the mobile application, allowing shelters to be able to have a view with pertinent information. Furthermore, we hope to implement computer vision and identification models to be able to take a photo from the user when pinning an animal, and classifying the animal, its breed, and features in the picture to help with the search!
Built With
- expo.io
- figma
- firebase
- geolocator
- github
- google-maps
- html/css
- javascript
- react-native
- xcode


Log in or sign up for Devpost to join the conversation.