Inspiration

Location sharing is a popular feature among friends but it raises issues of privacy and who is in control of your data. We aim to leave users in complete control of their location data while allowing them to securely share it through decentralized storage.

What it does

Our Dapp allows users to encrypt their current location data from their device and store it on IPFS. Users can lookup and add contacts they choose to share locations with. At any time, users may enable or revoke the ability for their contacts to view their current location.

How I built it

We used React for the main app bundled with Apache Cordova. Location data is stored on IPFS. Locations are encrypted with 512 bit RSA encryption. Users may share their username and public key using a solidity contract published on the Ethereum network.

Challenges I ran into

At first we wanted to create a React Native app, but we later found out that such applications are not compatible with IPFS. We re-wrote the interface to work as a React application instead. Additionally, we had difficulty in finding secure ways to make ethereum contract calls from within the app. Contrary to a browser DApp, there is no mainstream dapp browser which may be used as a network provider abstraction.

Accomplishments that I'm proud of

We are proud of our ability to recover from incompatibilities with the tools we brought in knowledge of and what we needed to use for the project. We were able to adapt to using new technologies to us on the fly. We were able to come up with an solution to a problem (location sharing, which requires lots of data storage) that was thought possible to solve with blockchain technologies.

What I learned

Using IPFS was a new technology for us and required new ways of thinking about storage due to its decentralized nature. We were surprised at the current lack of solutions for secure location sharing given its popular nature and current discussions of privacy and data ownership. At first the idea did not seem possible using blockchain technologies because it would not be cost efficient to send so many transactions as is required for location sharing.

What's next for VoidDot

We'd like to improve our integration with the Ethereum blockchain and if given the resource be able to maintain a server of usernames for people to find contacts easily.

Built With

Share this project:

Updates