Note: Better mobile app video quality: https://youtu.be/OOHAH7orbfI
We took the opportunity of this year's spy theme to create an online tool that gives spies a fake name and birthday to protect their real identities along with an accompanying mobile app for extra security and features.
What it does
The online tool takes your first name, last name, and country of operations to generate a fake name and date of birth that you can assume as a fake identity while conducting missions of espionage. For example, let's say your name is Michael Bobinsky, and you are currently in Malta doing a mission for the CIA. The tool gives you the name of Filippu xiriha and a birth date of February 24, 1921.
The iOS app version of the tool does even more; it authenticates your identity using your fingerprint to make sure no other user is using the app. In addition to the name and birthday generating scheme, there is a map of important U.S. Embassies around the world and their coordinates that one can use to quickly enter the safety of American law.
There's a super secret easter egg. I hope you can find it.
How I built it
The tasks were divided among the group members according to our abilities. I was primarily involved in the artistic aspect of the tool/application (logo, favicon, app icon, website colors, fonts) and wrote the logic for the determination of the fake name and birthday. Alexander was in charge of building the iOS app version of the tool and its various features. Matthew, as the reigning codeman, oversaw, proofread, edited, and optimized all the code and built the basic structure of the website.
All of us were heavily involved in the most important task, which was the creation of the database for the names in the various languages of all the countries supported by the current version of the tool.
We honorarily had an honorary member, Emiliano, join our honorable ranks and help us out with thing here and there. He contributed to the name database and honorably helped write a short program that checked for any missing files. He later honorably quit the team citing personal reasons and parted with us honorably.
Challenges I ran into
The biggest challenge that we faced was the collection of names for the database. A more efficient method of collecting names might have been existent, but because we had to partition our time wisely to build the entire program, we used brute force to search for names in various languages online and wrote them down by hand (by keyboard and text editor I mean). It was a long and arduous task but at the end it was worth it, because the application can now handle names for all 193 member states of the United States. Likewise, for displaying the U.S. embassies in the mobile app, each coordinate pair had to be searched and inputted one by one.
Accomplishments that I'm proud of
I am proud that all three of us could pull through the 24 hours and build a decent looking web/iOS app with appealing visuals and a fun little Easter egg.
What I learned
I learned to utilize GitHub for collaborative programming projects and to explain any changes to the program that I make to inform my teammates.
Matthew learned how to use Flask and Google App Engine to host web applications.
Alexander learned how to use various Swift libraries like WebKit and MapKit, and iOS's local authentication to add features and security to his apps.
What's next for EspiOne
Our next goal is to implement genders for names, and have the data for all diplomatic missions of the United States.
written by Jun