Our project was inspired by geocaching. Geocaching is the idea of crowdsourcing scavenger hunts where users can hide caches throughout a city and other users can go on adventures to discover them.
Team: Dee Lucic Matt Mitchell Keshav Chawla Alexei dela Pena
For this project we wanted to use the follow concepts:
- The idea of scavenger hunts / finding things in the environment
- Staying active and "taking care of yourself" to support Wealthsimple's motto
- To go on an adventure, and to "push your limits" with Mountain Dew's motto
- To use Indico image recognition API to recognize these scavenger hunt objects
- Use Twitter to share photos of scavenger hunt objects
What it does
We have developed a marketing tool that is a Pepsi/Mountain Dew app that gives the users a list of tasks (scavenger hunt items) that the user needs to find in the environment. The tasks satisfy an active lifestyle like taking a picture of a ping pong ball. When the user finds the item, they take a picture of it and the app will verify if the item is correct through image recognition. If enough items are found, then the app will unlock a DewTheDew fridge, which will vend free Mountain Dew to the lucky winner. All photos are posted on Twitter under the hastag: DoForDew
How I built it
Our app is an iOS app built in Swift. It communicates with our local PHP webservice that is hosted on a laptop. The iOS app also tweets our photos. The PHP webservice calls python scripts that call the Indico image recognition API. The webservice also sends serial commands on the USB port to the fridge which contains an arduino. The arduino is programmed to process serial commands and control an analog servo motor that locks and unlocks the door of the fridge.
Challenges I ran into
We initially tried to communicate directly with the arduino from the iOS app using bluetooth but the arduino bluetooth libraries, and the iOS bluetooth libraries are complicated, and we would not have enough time to implement the code in time.
Accomplishments that I'm proud of
The app developer is new to iOS and Swift and we are happy with what we have created so far. The webservice is very powerful and it can handle different expansions if required. To make the fridge we had to go to a local hardware store and find the parts to create a working model in time. The challenge was difficult but we are happy with the progress so far.
What I learned
All the developers on our team are inexperienced and we are happy that we were able to integrate all these in just a day's worth of development. We learned how to make UIs in iOS, how to pass information over PHP, Serial communications, and REST APIs.
What's next for DoTheDew HackTheFridge
The next thing to do is to integrate bluetooth into the iOS app and set up a bluetooth shield on the arduino. Also, the Inico image recognition APIs can be called from the iOS app too. Once these two changes are made, then we will no longer require the webservice server and we can get rid of the laptop. That's the first step to creating a standalone product. After that we'll be able to create a real fridge.