New Years was just a couple weeks ago and resolutions are already dying!! We wanted to create an iOS app that encourages people to follow through with their resolutions. Given the initial excitement around Pokemon GO, we wanted to use location based augmented reality to motivate individual goals.
What it does
Users can create goals with specifications to be met, such as going to the gym a certain amount of times per week. Users can then meet goals by going to the location and collecting a virtual token in augmented reality to prove that they were there. If they miss their goal for the day, then an automatic payment is incurred and donated towards charity from the user’s account as incentive.
How we built it
The backend of this project is built with Node.js along with a MongoDB server. This is running on an AWS Elastic Beanstalk instance with static files served through NGINX. The backend exposes api calls that are used both by the iOS application as well as the web application which connect the clients with their data inside of MongoDB and their transaction history from Capital One’s Nessie API.
The iOS application was built with Unity and migrated into Xcode. Using laptop stickers as markers and coins as our 3D models, we were able to simulate an immersive augmented reality experience that immerses the user with their environment.
Our web interface, served through NGINX, features a large amount of data visualizations which are rendered with D3.js. Some interactive components are created using jQuery including the login page and data fetching for visualizations
Challenges we ran into
One of the main challenges we ran into was creating the augmented reality iPhone application. Learning Unity required an immense amount of work and development spanned over a large period of time.
Accomplishments that we're proud of
We are also most proud of the iPhone app, because of it’s technical challenge and the fact that we’ve never done anything like this before.
What we learned
The most important lesson we’ve learned over the past few days is to come to a hackathon with an idea in mind. We wasted almost 9 hours in the beginning trying to decide on an idea, and we finally came up with Piggy Bank at around 3am Saturday morning.
Aside from this logistical issue, we learned a ton about Unity, AR development, Node.js/Express, and working with MongoDB.
What's next for Piggy Bank
We want to expand on the idea behind Pokemon GO and create an interactive, social feature where users can track their goal progress in comparison to their friend's.