Inspiration:
We wanted to provide the ease of use associated with large scale cloud storage services such as Google Photos or Apple iCloud while eliminating the security and ownership risks associated with storing your sensitive files and documents with a third party. Additionally, we felt that it was very important to expand access to these services to locations and users who may not have strong or stable connectivity to the Internet.
What It Does:
Astra is a decentralized, peer to peer, encrypted file synchronization framework which can be expanded and utilized in a wide range of applications. This may include, personal storage synchronization such as photos, videos, music and contacts; calendars, system configuration files, programs and software, or any other data that can be stored or represented as a file. Astra acts as a combined data registry rather than replicating files across each device.
How Does It Work:
Astra is made of three components. First, a distributed network routing system allows devices to communicate directly with each other regardless of the network conditions they exist within. Second, a distributed database called CouchDB shares information about the user's files across all of their registered devices. Third, a file access API facilitates transparent access of data regardless of which device contains that data. Astra is implemented in Go, and is therefore portable to all major platforms.
Challenges We Ran Into:
We ran into a number of challenges when developing Astra. The foremost was that our team has a wealth of ideas regarding the potential features and uses of this technology, and limiting the scope of the project to a few core functional elements was difficult. Additionally, many of the technologies we used for this project are new to us and navigating the compatibility of many of the technical tools was a challenge to accomplish particularly with limited time. Finally, we are a team comprised entirely of engineers, and communicating the benefits of this project from a less technical and more user focused position is something that we had to revisit following significant feedback.
Accomplishments We Are Proud Of:
We are proud that for many of us, this was our first Hack event, and we did show up and complete a proof of concept for our product. Several of us felt this was an incredible learning opportunity. Our team members have much deeper understandings of networking platforms and languages that we learned on the fly. Finally, we learned how to work more closely together and be receptive to the ideas and feedback of other team members.
Further Development:
Though we chose our technologies in a way that would make porting the application to every platform straightforward, there is still work to do to actually accomplish this. Additionally, we would like speed up file transfer by implementing automated NAT hole-punching. Finally, many file types and synchronization features are not currently supported and would need further development time.
Log in or sign up for Devpost to join the conversation.