Right now, there are apps like Facebook that allow users to report their immediate locations to their friends, and allow them to meet-up. However, with the raising concerns of privacy in our day and age, trusting large corporations on extremely sensitive data like current location might not be everyone's cup of tea.

What it does

This app allows a user to send other users an invite link to a private location sharing map. This allows the users to know each other's locations and more easily meet up. The app doesn't limit who you can send the invite to, so many use cases are possible like a meet-up in a crowded or unknown place. This allows people to connect anonymously just like pipes connected in a house hidden from the sight of everyone inside it. Our app would not store logs of any request made to our service and would be open source.

How we built it

We used Javascript to get the location of the users from their browser and send it to our Ruby on rails back-end. We would get the users' location and display it on a map using the Google Maps API for all users. Websockets were used to update the map in real-time for any location changes from any of the users so they would not have to refresh the map constantly.

Challenges we ran into

On a Windows machine, it was found that it was not possible to get GPS location data since our application lacked an SSL certificate. This made it difficult to test and as a result, a lot of the work had to be done on another machine. Another problem was figuring out how to send data through separate socket channels.

Accomplishments that we're proud of

The biggest accomplishment was our perseverance through a lot of technical problems that we thought would not be solvable.

What we learned

We learned about how websockets can be useful and provide a very good user experience, and how to implement them.

What's next for Pipes

With the main functionality implemented, we could focus on some additional features like finding the fastest route to meet between 2 users, or a chatroom where details of the location can be exchanged (3rd floor, near landmark, etc).

Share this project: