Forgot someone's name? No problem! This iPhone app, "Face to Name" will fill you in on the names of people you’ve forgotten.
I wanted to learn iOS development and AWS (Amazon Web Services) skills so I decided to make an iPhone app that incorporates Swift programming and AWS's APIs. It gets its awesome facial recognition from the AWS Rekognition API.
How I Built it
- Swift - For everything.
- S3 - To store the images
- DynamoDB - To store the acquaintances.
- Rekognition - To index faces and search for matches.
- Cognito - For user sign in.
Challenges I ran into
Learning iOS Development. It was daunting at first and I was constantly making mistakes that I didn’t know how to fix, but I kept with it and kept going back and forth between working on the project and studying Swift’s online documentation. Gradually I pieced together the elegant and powerful architecture that makes up Swift for iOS. Then my speed increased drastically from there. However, the learning curve still took a large portion of my time. I’d say that if I divided up all the hours I worked on this in half, the first half of the time would only make up for about 20% of the final project because of all the time I spent learning and making mistakes.
Accomplishments that I'm proud of
I'm proud that I was about to produce a fully functional, end-to-end iOS app. The app is designed from 100% scratch and took about 2 full weeks of hard work.
What I Learned
I learned that, by really putting my mind to it, I can go from no experience to extremely comfortable in a new area of development like iOS dev in a matter of weeks. It’s amazing looking back at the beginning of the project and having little idea of why the problems I ran into were happening (I had a lot of mistakes at first!), but now I understand what’s going on and what to do. Now I know how to utilize powerful tools such as closures and extensions.
What's next for Face-To-Name
- A common bank of known names for faces.
- Fancier user interface.
- More convenient ways of adding acquaintances.
- Android version.
Everything you need to run the project in Xcode should be provided, including all AWS (Amazon Web Services) frameworks necessary.