Today, we presented our final year design project, Peekaboo, to the University of Waterloo. I thought it was only fair that I post it online on the same day as well.

Peekaboo is an iOS app that lets you find out more about people around you. It accomplishes this by using facial detection and recognition. Simply snap a picture and Peekaboo tries to find out who the people in it are. You can login to the app using Facebook, and it goes through your tagged Facebook photos to create a model of your face. Don’t have or don’t want to connect with Facebook? Peekaboo can train you using your phone’s front-facing camera.

Watch the short video

I thought a video would explain it better than words can. This was taken on my iPhone 4S and recorded using AirPlay. It’s a slightly old build.

The idea

We started with the idea of wanting to know more about people in university. If you think about it, there are 10,000 like-minded students in a university campus but I only know 0.01% of them, due to a random moment that made me meet them. That 0.01% is responsible for most of the joy and friendships that I have created in the last 4 years. So what if this 0.01% was larger? We felt that there should be a better way of knowing more about people around you, so that you can meet more like-minded individuals. Is Peekaboo the right approach? I’m not totally sure, and it certainly has polarizing aspects, but it sure was fun to make.

The technology

I mentioned how I designed Peekaboo’s system architecture in an earlier post. Some things have changed since then. We found provided us improved facial recognition and had a faster execution time, so we went with that. This allowed us to simplify a lot of the code on the C++ side, effectively making the system a combination of the iOS app and a Node.js server on Heroku that acted as an API that linked to the various services, Parse and

I was responsible for coding the majority of the Node.js server and the iOS app. My goal throughout this process was to become proficient with Objective-C and the iOS SDK and I think I’ve got close.

Some pictures

Here are some screenshots and Instagrams of Peekaboo and the design symposium.



  1. Neat project! What was some of the feedback when you did the presentation?

    • Tilo

      Thanks! I think the feedback was generally positive, and a lot of people were a little surprised by the facial recognition accuracy. Of course, there were people who were a little “creeped out” by the privacy implications, but we have some systems in place to prevent stuff like that. It was a prototype after all. Something like this is going to happen sooner or later.

  2. Nice work Tilo! Sounds like a fun/useful app. Is this app available on the iTunes app store for me to check out?

    • Tilo

      Thanks Rajesh. I haven’t put it on the App Store yet because there are some privacy concerns and I’d like to give the users good privacy management tools before I push something like this out. I may rebrand it a bit, because the current model is not scalable to thousands of users. Works well below 1000. Gotta fix some small bugs too.

      I’ll post when I push it out.

  3. Vakilzadeh

    Cool! Put it on AppStore.
    Is it free to use your source codes in a commercial application?

    Be happy!