Link to project: https://savings-rate-tracker.netlify.app/
This project is inspired by the Whirlpool forum community’s Bank Account Comparison spreadsheet which aims to assist the community with finding a high interest savings account. The volunteers who keep the spreadsheet updated need to manually check the accounts for rate changes and make that update.
This project aims to automate that process using the Open Banking Product Reference Data which is made available by the respective financial institutions. It was also created as a fun way for me to learn about configuring AWS services, using REST APIs and getting more familiar with React.
How does it work?
Features implemented
- Scheduled data retrieval from the respective institutions APIs
-
Stale data automatically removed from DynamoDB (DDB)
- Each time the lambda function is ran, the entries are updated with a new Time To Live (TTL)
- Entries in DDB which has not been updated in a week by the scheduled process are assumed to be inactive/discontinued saving accounts and removed (Could also be caused by other reasons where the API request failed)
- Sorting table by institution name or base, bonus and combined rates
- Additional information about the account (if provided by the API) via a dropdown menu
Challenges that I faced working on this project
-
It seemed like the implementation of the Consumer Data Standards differed slightly across some institutions
- Some implemented BONUS rate as a combination of both base and bonus rate
- I initially wanted to include a column for payID enabled accounts. However, some institutions did not have NPPENABLED/NPPPAYID listed in featureType despite it being available on their accounts.
- Figuring out how to configure API Gateway and mapping DDB JSON to standard JSON
Special Thanks
Thanks to Luke Prior for compiling a list of APIs from institutions. I haven’t added them all to the project yet, but hope to get around to doing so soon!