The idea for Mapify began during a conversation with a driver during an Uber trip. Being an Uber driver is hard - earnings can be low and hours can be long. We found that drivers rely on experience and word-of-mouth when deciding where to station themselves for best earnings. Mapify, a new tool for drivers to predict pickup hotspots, would enhance the Uber driver experience and reduce pickup times for passengers.
What it does
Mapify is a beautiful hotspot mapping app designed for Uber/Lyft drivers. It's the only tool available for Uber drivers to predict pickup hotspots beforehand. Using the schedule/itinerary of large well-attended events such as concerts and conventions as indicators, Mapify highlights locations on a map where passenger pickups are most likely at any given time. For example, on a Saturday night, Mapify returned the top 47 active events in Evanston alone, out of all 197 events found. In the Chicago Loop area, Mapify found thousands of events, and returned the top 500. Mapify will truly change how Uber/Lyft drivers drive.
How we built it
Mapify is comprised of two parts. We wrote a backend in Django using an Amazon Web Services EC2 instance and a front end for iOS in Swift. The iOS app was made completely in Swift in Xcode and uses Apple’s built in MapKit API to display our data. Our iOS application makes calls to our server which then makes calls to the relevant APIs and returns the data back to our app which then displays the data beautifully on the map.
Challenges we ran into
We ran into the challenge of gathering accurate and informative data from various event planning and ticketing website. We initially tried Facebook's Graph API which fails to deliver information about events around a certain locations and Lyft API which does not provide enough integration with Python script we run in the backend. Debugging the back-end architecture is another challenge. Since we generate a JSON file in our python script running on AWS and parse it into swift dictionary in Xcode, we want the script to run whenever an query is sent to the host so as to update the current locations in the script. We tried many method including Supervisor and successfully solved it by using Flask python package to run it smoothly in the back-end.
Accomplishments that we're proud of
Maypify aims to increase the information matching between Uber or Lyft driver and where potential passengers are on a dynamic map that constantly updates hotspot pins. We are proud of the idea that the app can be very effective to better direct drivers and reduce waiting time for passengers. Also, we are proud of our front-end interface and functionality as well as back-end support and design to make the project possible.
What's next for Mapify - Your Hotspots Mapified
We want to improve the accuracy of Mapify by adding additional API calls in our backend. We’d love to be able to query the Uber, Lyft, or Facebook APIs to gather more information. With more data we can improve accuracy and usefulness. The immediate next step will be to release it to the App Store to start to get feedback directly from drivers.
We built this project to compete for JP Morgan Chase & Co - Best Social Good Hack, Watch Dogs® 2 Best Device Privacy Hack and Amazon Web Services - Best Use of AWS