Inspiration

Parking rentals is a large industry, and also one that's not going to disappear anytime soon. However, what happens when the owners of those parking spots go out for work? Go back home? Large volumes of parking spots taking up land that people looking for parking desperately want. Ever go on a trip only to have your enthusiasm be dampened by the monotonous search for a parking spot, eventually giving up and parking far away from your destination, or even biting the bullet and using an overpriced lot.

2 problems, 1 industry. Sounds like the parking industry could use some innovation.

What it does

What we aimed to do with our project was connect the owners of those lots and those looking for a place to park, with minimum hassle and maximum benefit for both sides. The owners are given a sensor which they can set up in their parking spot. It then starts to record the status of that parking spot, making it available to people with the app. People with the app can then easily find available spots on their map and park there. After they leave, they're automatically charged a fee that the owner receives as payment for borrowing their spot. The owner of the spot passively gets money for land that would have been wasted anyway, and the client gets an easy parking experience, a perfect and elegant solution for both parties!

How I built it

The project consists of 3 parts: Hardware, Backend, and Frontend.

The hardware consists of a sensor (an RPi with a camera) that can be set up in a parking lot. It then proceeds to begin monitoring the status of the parking lot using IBM Watson, and whether or not a car is currently parked there. It periodically sends notifications to the backend which tracks the statuses of the different lots throughout the city.

The backend is coded in Python and handles all the interactions and logic between clients, owners, and sensors using an EC2 instance and Amazon Lambda. The info is then stored within S3 and mongoDB databases depending on use case. It's the heart of the product, and is simple to call, making it easy to connect front-end UIs to it.

The frontend is currently a web-app coded in React.js, and its main purpose is to allow clients to interact with owners in a quick, convenient and intuitive way... It connects to the backend using and axios and redux framework, and is highly scalable. Both the frontend and backend use Google Maps API to facilitate ease of use for the client.

Challenges I ran into

There were many challenges that we ran into during the course of this project.

  1. When we decided to use React.js as our frontend language of choice, we immediately hit a major roadblock in that there was a grand total of 3 weeks of experience between all 4 of us (and all on a single person). A lot of documentation was read, and mentors proved extremely helpful (shout-out to Stuart!).
  2. Backend came across config issue after config issue, making it difficult to focus on the already complex and dynamic backend. It was thanks to sheer dedication, talent, and hard work that we managed to pull through.
  3. We had to deal with a LOT of brand new apis. Axios, IBM Watson, Google Maps, and Amazon Lambda, just to name a few. There was a LOT of documentation read, and a LOT of new things learned.

What I learned

Basically everything. React.js was basically brand new territory for everyone on the team. A lot of new apis. Complex interactions between databases. It was a massive undertaking in terms of what we knew vs what we needed to know, and we came through incredibly well.

What's next for teamparking-hackWestern

We developed this app as a proof-of-concept, and to just have fun challenging ourselves with something new. We believe there's a lot of potential to be found in disrupting this industry, and if done properly could have a lot of business potential. We don't have any plans to pursue this particular prototype any further, but turning this into an actual product is definitely still on the table.

Share this project:

Updates