DEV Community


Posted on

Hashcode, 2015

HashCode was another very well conducted PES hackathon, with some really good competition, it was conducted in PES University, during November, 2015.

The hack was divided into 4 themes, the last theme being an open Hack, therefore we chose that track, and built a product that'll help you conserve mobile data.

The idea behind it is simple, with your mobile data turned on, you make a request to download something, an intent filter on Android listened for downloads and the exact link to the file is picked up by the Android app, it packages the link and sends it to a download box sitting at home, connected to your home broadband, the download box consisted of nothing but a Raspberry Pi with a python backend that listened for links to download, upon receiving a link to download, the server application used this library called Aria2c to download the particular file in question, aria was mature enough to support multiple protocols like HTTP, FTP, BitTorrent even so by using this library we abstracted the downloading aspect of the application. Once the files were on the Raspberry Pi locally, it listened for new entrants on the Home WiFi network, as soon as it detects a state change in the WiFi table, it automatically tries to send the file to the device, if it's an android device with the client application loaded on it, it realizes that a request to retrieve the file was issued and sends the file to the device, automatically adding the downloaded content into the user's gallery, seamlessly and effortlessly, and finally deleted the file from the local SD card.

The judges loved the idea and could quickly relate it to Pocket, google's proprietary link sharing application, pocket allowed you to save links and open them later when you had access to a reliable internet connection, our application downloaded the content for you in real time, and sent it to you when you had WLAN access to the download box.

A few ways in which we can improve the application right off the bat is by extruding the 4 USB ports we get on the RPi and force it to act as one big file system thereby allowing users to hotplug additional storage in case the standard SD card's size does not fit their consumption. Adding metrics and analytics to this product would go a long way in helping users analyze the type of content they consume and where most of their data ends up getting used in. Auto detection of new entrants and subsequent signups to a download box could be implemented to help ease bandwidth traffic, say a video that you and your family members both want could be downloaded only once and served hyper-locally from the download box instead of downloading it twice and wasting bandwidth.

At the end of the day this application was built out of a necessity where some of us who live in the hostel end up with an outrageously slow internet connection when we have one at home that can download a lot without a sweat, so the point was to build this application so that we could use it ourselves, throw all the things you have to download onto a list and execute it remotely, fetching it as and when we go back home, again, seamlessly. This could also be used when you're surfing in class and realize that the latest episode of Game of Thrones comes out and you don't want to download it using your mobile data, but you use our application to put it on download, and when you go back home, it's already downloaded and it syncs via LAN, almost momentarily and it's instantly there in your phone for consumption.

We ended up in the second place for this hackathon and were given a trophy each and 25k cash bonus. This was the starting point at which we truly began understanding the intricacies of what they expected at hackathons and how to deliver to that particular niche.

Top comments (0)