Inspiration
Perhaps the most awkward moment in any situation is getting a person's name wrong. Personally, I dismiss the importance of learning the name of someone new as a time consuming and boring task - that is, until it's too late. Deja Vu is an app that helps you avoid circumstances like these with a fun loophole.
What it does
Deja Vu first asks the user to log into their Facebook account. Then, the app, by retrieving the user's friends and their profile pictures, runs a repetitive, fun multiple choice exam that asks users to match a profile picture with the respective name. Deja Vu also keeps score of the user's performance over time.
How I built it
Deja Vu is an iOS application. I of course used Swift and Xcode as my respective coding language and environment. The most important, sole API I used was the Facebook Graph API which I used to retrieve a user's friends + profile pictures for the game.
Challenges I ran into
The Facebook graph API had many restrictions that were somewhat of a hurdle. For example, Facebook did not allow Deja Vu to access the names and pictures of any user's friends who did not use Deja Vu. Therefore, thanks to several cool friends, I created a set of fake accounts that I used as the user base for Deja Vu (that took way longer than I would've liked it).
Accomplishments that I'm proud of
Surprisingly, parsing the JSON file to access ID's and name's wasn't as formidable task as I thought it would be. I'm also happy that I was able to write some asynchronous code. I did not know how multi-threading worked before this hackathon, but now, thanks to this experience, I have a grasp on how dispatching asynchronous code threads exactly works.
What I learned
Creating Deja Vu was a combination of revising JSON parsing while learning how to write asynchronous code.
What's next for Deja Vu
I will attempt to resolve issues that I did not have time to resolve during SVHacks. This includes the lack of data persistence and an inconsistent Facebook login.

Log in or sign up for Devpost to join the conversation.