One of the apps that I use the most on my iPhone is the banking app so I can control my financials. Looking at most banking apps they seem to very boring and very convoluted, too many pages, too many options. With an app that so many people use it begs the question, "Why aren't these apps modern and really useful?". I set out to make the banking application not only very interactive but also very helpful as well! This is my take on reworking well-known gadget and creating the next iteration of a common solution that is mobile banking.
What it does
This app is an all-in-one revolutionized banking application that uses Speech-To-Text technology, a beautiful UI/UX and a smart AI to improve the banking experience. This application is feature packed, some notable one is direct interaction with the app using voice commands (ie Navigate the app, request certain data, ask for financial advice), an intelligent algorithm that determines potential financial growth with the user's current banking transactions cross-referencing the financial markets and as well as quick access UI to many banking features. Essentially this application is an interactive mobile teller in your pocket.
How I built it
The app was built using Swift 3 to create an iOS application for the front end. The application uses Alamofire to create web requests to the Capital One Hackathon API (Nessie), which is the back-end of this application. The iOS application uses brand new iOS 10 Speech Recognition technology in conjunction with API.ai to create a conversational user experience. In additional the FaceBook Pop framework was utilized to create a modern and eye-catching user interface.
Challenges I ran into
I ran into many challenges some notable ones was finding and API for historic stock market data. The best source for historic stock market data is from Yahoo Finance however they did not use JSON and have little documentation on their API. The only reliable option was to parse a CSV file but many CSV parsing frameworks were not compatible with Swift 3, this lead me to create a robust CSV parser that turns the CSV into a usable dictionary for the app. Another notable challenge I ran into was handling the many networking endpoints from the Capital One API. In many instances, in order to get a particular value you needed to make multiple consecutive network requests and things start to get really messy. Since my application uses voice interaction and does not directly conform to a specific data model, the challenge was to determine the most efficient way to handle the networking layer.
Accomplishments that I'm proud of
One aspect of this hackathon I am proud of is participating as an individual instead of a team. However, I still interacted with many other colleagues and learn things beyond the scope of my app. I am proud that I am able to put a lot of different APIs together to create something cool.
What I learned
- More Swift 3.0
- Capital One API
- Stock Market trends
What's next for BankHero
- Get in contact with Banks to see if they would be interested in applying some of the banking features into their app.
- Consider making the application an extension to existing banking application (if possible)