Inspiration

Months ago, I left my backpack at a coffee shop called Irving Farm New York without realizing it. I instinctively, for some reason, opened the "FindMy" app on my iPhone thinking my backpack would show up on there. Obviously it didn't because it's not an Apple device, or even a device at all!

The FindMy app is great but only works for apple devices, so I sought out to build an app called FindMyStuff which could work for anything.

What it does

When you've lost something, you report it to the app by describing what it is and what it looks like, and all of the possible locations the lost item might be at.

Then, people who are in those possible locations will be notified that someone lost something that's in their current area. If someone can find the lost item, they can connect to the person who lost it and leave their contact info so that the two users can coordinate it's retrieval.

How I built it

There are two parts: the mobile app and the server. I built the the mobile app with react-native and expo, and I built the server with ruby on rails.

I'm using the Google Places API to let users search for specific locations, and I used the Geocoder API to calculate the distances between devices and potential locations for lost items, and I use those distances (with a threshold) to query for users who very near to places where an item might be so that app can inform them of it.

Challenges I ran into

Mainly just react native stuff, I'm not much of a mobile developer. At some points during development, things worked on iPhone but not on Android, and so those were the biggest headaches.

Accomplishments that I'm proud of

Actually getting it to work haha. Just out of the nature of what it is, it's not really useful until it's completely finished. And so the whole hackathon felt like a race to a finish line but without any indication of how far that finish line was lol.

What I learned

How to use the Google Places API. I had never used it before.

What's next for Find My Stuff

I think Push Notifications would really make the app more useful. And it's something that isn't really difficult to implement with react native, but I just didn't have time to do it.

Share this project:

Updates