Balance Tracker Project

The Setup

In June 2015 I decided that I'd like to experiment a bit with AWS. I decided to create a page featuring an automatically-updating chart of my personal checking account balance.

The Plan

Since my bank information is hosted on mint.com, I did some digging and found an open-source mint.com API called pepper-mint which I could use to scrape my bank balance. I first scanned through the API to ensure there was no way it could phone home with my mint.com password hard-coded in. Although there was some documentation provided for this API, information on how to access an account's balance was missing. It took a small amount of reverse-engineering, but I managed to figure out the proper terminology for returning my account balance anyway. I ran pepper-mint, and it successfully returned my balance.

I then read a bit about AWS and surmised I'd need to create an EC2 instance. I did so, using a Bitnami MEAN image to accomplish a fast stand-up. I scp'd pepper-mint to the EC2 instance, and built my own JS script on top of it which would format & append the current date and current bank balance to a persistent CSV file. This script was made to run every 3 days using the open-source node-schedule, which is basically the traditional cron functionality wrapped up in a JavaScript library.

The last step was short – I just created a simple page, which used jQuery and HighCharts to create an animated line graph of the data stored in the CSV file.

The Tools

AWS EC2 • MEAN • Highcharts • Cron (node-schedule) • Mint.com API (pepper-mint) • Linux commands (ssh, scp, nano)