A few days ago at a graduation party, several of us participated in a scavenger hunt. We were given an hour to run around and snap pictures of ridiculous things (such as "You licked what?!"), and then upload our photos to Flickr for everyone to enjoy. It was a stupendous amount of fun, but attempting to actually upload the pictures proved an immense pain. Three hours after the game ended, we were still receiving photos that were served hours before. We built Sherlock in order to simplify this process while still maintaining the frantic and energetic fun

How it works

Sherlock is a social scavenger hunt app designed to be played by a large group with their phones. Users who want to host a scavenger hunt may create a new event and specify a title, description, and time period during which the event will run. They may also create "clues", or challenges for the competitors. These challenges then require the players to find an item that matches, and then take a picture of it. These images are automatically uploaded to a remote server for all the members of the game to enjoy. Those who solve the most challenges can also earn the most points for a more competitive style of play. Sherlock is a responsive web app designed to be run on both desktop computers and mobile devices. It runs a modern HTML, Javascript, and CSS front end, and a Django Python framework on the back end.

Challenges we ran into

The most difficult aspect of this project was integrating the forward facing content with the server. Due to it's nature, Sherlock requires a very close relationship between both the front and back ends, which proved to be an interesting logistical challenge. On multiple occasions we would have to reconvene as a group to solve one single problem.

Accomplishments that we're proud of

Web apps are often considered inferior to native apps, especially on mobile devices. Despite this, Sherlock is able to maintain both the full functionality, and the ease of use that many come to expect from a mobile app or game. However, because it is ultimately a web app, we also get the full cross-platform flexibility that web design provides.

What we learned

It is impossible to work so hard on a singular problem without learning many new things. For some of us, this was our first time using Django. For others, the lessons learned were of a more esoteric nature -- such as the intricacies of how Python handles dates and times. Regardless, each one of us gained valuable knowledge and experience.

What's next for Sherlock

We were fortunate to be able to complete this hackathon with few major hiccups. As such, we will hopefully be able to make Sherlock publicly available for anyone to enjoy. Sherlock was born out of our own interests and games, and we would love for others to enjoy it as well.

Built With

Share this project: