In today's world, money management plays a huge part in our lives, from simple things like saving up for a fun purchase to planning for retirement. Every day becomes increasingly more difficult to handle personal finances with all of the positive reinforcements associated with impulse spending and consumerism. We feel that current budgeting tools lack the ability to tie spending data with location data -- this is where Spendle comes in.
What it does
Spendle tracks your location and spending habits. Whenever you approach an area close to a bad spending habit, Spendle will send a text message to you to help you break away from your habit.
For example, if you order at a coffee shop daily, Spendle will send you a text message when you approach the coffee shop that you order at -- encouraging you to save the money and spend your day away from your spending habit.
How we built it
Spendle was built from the ground up using Objective-C and the iPhone SDK to produce a responsive, beautiful application. On the back end, Spendle is run on a Python Heroku server using Flask, Postgresql, and the Twilio and Capital-One APIs (go Nessie!). The two communicate through JSON formatted POST requests.
Challenges we ran into
The first main challenge that we encountered was generating the purchase data for our test customers. Nessie provided the framework for hosting the data, but we had to generate all of the necessary details to make the data valid, including creating customer accounts, customer details, and purchase history.
Another challenge we found ourselves with was designing a system for flawless communications between two different applications. To coordinate our backend Python server with our iPhone application, we had to carefully design a simple API that would allow us to communicate all the necessary details while still being as concise as possible.
Accomplishments that we're proud of
Our stack includes a lot of elements, and getting everything to work together seamlessly was no small feat! We are really proud of how well all of our moving parts work together, and our team did a fantastic job of voicing concerns and joining together to form a solution whenever we struggled getting two elements to work together.
On a less technical side, we are very proud of our idea. While everyone might have a favorite budgeting application, no one's uses location data to help the user better manage their money. We are very happy to be able to share this idea with you today, and we are all so proud of how well our idea transitioned into a product.
What we learned
Going into this project, our team lacked a lot of the technical experience with the stack we used. While we are all seniors at the University of Alabama, our experience is very varied, and we each chose parts of this project to work on that were outside of our area of expertise. Doing this let each of us learn new parts of the stack while still having immediate access to another member who was much more familiar with the material.
What's next for Spendle
The next steps for Spendle mainly focus around generating a better algorithm to determine bad spending habits. Ultimately, using machine learning to learn the habits of each customer would be the ideal scenario. Along with a better algorithm, creating an Android app and moving our backend to a more scalable solution such as AWS will help Spendle grow into the premier smart budgeting solution we know it can be.