We were on our way to ShellHacks, Miami from Tampa when we accidentally locked ourselves out of our car right in the middle of alligator alley at a gas station 30 miles away from any hint of a civilization - almost halfway into Everglades National Forest. With ample signal reception, however, limited help from people (Locksmiths, Towing Agencies, Roadside Assistance) who wouldn't drive 40 minutes just to unlock a door, we were stuck in rain at that gas station for roughly 4 hours. At that time, we would've wanted nobody but a guy who knew how to unlock that door, who was available at hand, and wouldn't take 50 minutes to get there, or charge $300 because there's always opportunity cost. Our app, with main focus on resolving immediate customer needs by attracting targeted audience, help resolve this issue at no cost to us, or anyone else.

What it does

The HeroSearch app allows users to post publicly-visible calls that can be answered by capable people in the area.

How we built it

Android Studio was used to develop the front-end with Java and xml. Firebase services were used for the back-end development. A Firebase database is used to manage account data and information about active calls. The Google Maps SDK is used to give users a better view of where calls are located. All call addresses recorded in the database correspond to valid locations for having been previously validated by a geocoder. To facilitate meetings between users, location tracking is used, with current user location appearing as a marker in a map.

Challenges we ran into

Time constraints limited development progress. Our team was encouraged to prioritize and determine the most necessary app features to implement first.

Accomplishments that we're proud of

The creation of a two-way location-tracking interface by embedding threaded database writes in the location update callback of the tracking activity.

What we learned

We learned about organizing our approach to app development by developing sketches and listing design requirements in order of priority.

What's next for HeroSearch

The Firebase Project associated with HeroSearch should have a Cloud Function that runs on a fixed schedule, such as once every 24 hours, to clear expired calls from the database. Calls that have expired before they are cleared should be hidden from other users. The app should also implement payment methods and ratings so callers can pay their heroes and submit feedback directly. Additionally, all users should have publicly-visible profile information that includes performance details, like ratings or number of calls successfully answered, to build credibility.

Built With

Share this project: