We originally were going to make a webapp that found ATMs, linked them to one's bank account, and managed investments with them. However, when exploring Capital One's Nessie API we found the attribute
amount_left on each ATM, which seemed to represent the amount of money in each ATM. Upon discovery, one of our team members made a joke, "Why would they provide this? So robbers can plot the most efficient route to rob all of the ATMs?" We all laughed, and immediately after realized what a great idea it was.
What it does
As stated above, Swipr plots the most efficient way to get to several ATMs, and then directs the user to the nearest airport. For, you know, tourist reasons. "Tourists" can also leave reviews for each ATM.
How we built it
Swipr is built on Tornado (Python), MongoDB, and ReactJS. It also uses several of Google's mapping APIs and data from Capital One's Nessie API.
Challenges we ran into
One of the primary features we wanted to add was the ability to "visit" ATMs that are near a user's current location. However, Capital One's API did not provide any ATMs within 50 miles of Philadelphia. To overcome this, we downloaded all of the current data and stored it in a MongoDB database. Then, we were able to input our own "ATMs" inside of Philadelphia. We were able to take advantage of MongoDB's GEO2D feature in order to query all of the ATMs by how far they are away from the user, or where the user has selected.
What's next for Swipr
Swipr will probably reside within the depths of GitHub for the rest of its life, but we'll see.