Finding parking has been a problem that bothers many residents in busy cities like Los Angeles. Happy days are being ruined by the frustrating hunt for parking. Gasoline is being wasted. According to Forbes, 3600 vehicle miles are driven each day in Westwood in search of parking. This is a problem looking for a solution.

How it works

With nearly every car in the past 5 years shipping with Bluetooth and the Handsfree laws being enforced in many states, Bluetooth is becoming commonplace in vehicles. This is where ParkAhead beats the competition: while others are attempting to source data from cities, trying to put physical sensors on parking meters (or in the road!), or are relying an active user's input, ParkAhead takes advantage of a car's built in Bluetooth capabilities all in the background with little effort from the user. When the car and the phone connect, ParkAhead recognizes that there is now an open spot. When the car and phone disconnect, our app recognizes that someone has now parked in the spot.

With the parking data ParkAhead has, we can calculate the average parking time in neighborhoods, generate heat maps showing the most frequent spots, and create predictive models of a city's parking patterns without having to integrate with city data. For instance, ParkAhead's data can help users find restaurants that might not having parking now, but will have parking in 15 minutes.

ParkAhead has an incredible potential to be monetized with extremely targeted and localized advertising network for restaurants and stores. When business owners have parking near a user, we can advertise their stores in the ParkAhead app, improving their customer's and future customers' experience.

Challenges I ran into

The bluetooth events gave us the most trouble on the mobile app. Being able to detect Bluetooth in the background proved more difficult than we thought and had to be delegated to a background service that monitors all changes to Bluetooth devices in the area. On the database side, figuring out how to organize data in a reliable and consistent way was difficult. What should happen if someone's phone dies and they park? What should happen if someone's phone dies and they leave? We had to make decisions to keep the backend consistent.

Accomplishments that I'm proud of

We were all amazed when the entire system finally connected. We were able to "park" in Pauley Pavillion and "leave" with the database and app consistently in sync. Furthermore, we were able to simulate this not just at the user's current location but any location around the world.

What I learned

Multithreading services with Bluetooth in Android in the background. Google maps clustering. Many of us hadn't built a Node.js stack before. How to organize data in a database that can be inconsistent.

What's next for ParkAhead

In order to succeed in the crowdsourcing space, ParkAhead need an iPhone app as well. Due to Apple relaxing on Bluetooth background restrictions in iOS 8, this app should now be feasible. We're really excited about the data that we are collecting since it can be used for so many purposes and for both profit and the collective good. The more we data we gather about parking, the more features we can add for our users, potential customers, city officials, and ordinary people who don't even use the app by improving infastructure. Parking predictions, targeted advertisements about parking, and opening the data to other services via an API will be rolling out in the future.

Share this project: