Machine learning engineer and member of the Programmable Banking community Jan Marais created āRun to the Billsā to help him finance his next pair of running shoes. This MVP solution works by connecting the activity tracking app Strava with the Investec Transfer API, helping users automatically save money towards irregular expenses each time they exercise.
Itās happened to all of us: Your monthly budget is on track when suddenly, youāre hit with a large expense that you hadnāt accounted for. Perhaps your car tyres have hit their maximum mileage and need to be replaced. Maybe your wireless headphones have powered down for the final time. Or it could be an annual subscription that you need to renew.
Whatever it is, an irregular expense can catch you off guard and may have you eating end-of-the-month Salticrax long before payday.
For Jan Marais, the expense he kept running into was training shoes. āIām a runner,ā he says, āI think I run more than the average person ā or at least the average developer ā and I go through running shoes quite quickly. Theyāre getting expensive, or at least the nice ones are, and itās kind of a problem.ā
As part of a Programmable Banking Communityās hackathon, Jan came up with the idea for āRun to the Billsā to solve this problem.
The problem: Saving for irregular expenses
Most irregular expenses are easy to predict and budget for. All you need to do is divide the cost by the frequency with which itās incurred and save that amount each month. For example, if you have an annual software subscription that costs R999, you will need to save R83.25 each month.
But items that donāt deplete as a result of time but rather usage ā like running shoes ā are more tricky to account for.
Each of Janās pairs of running shoes have a specified mileage after which they need to be replaced. Plus, he uses different models for different purposes. Which means they reach that mileage at different rates. āI donāt use them all at the same frequency and itās hard to say, āIn three monthsā time, Iāll need a new pair,ā because it depends on how much I actually use that pair,ā he explains.
That made it difficult to identify exactly when he would need a new pair of trainers and how he should save for them.
Thereās an app for that
Rather than calculating the cost per kilometre for every shoe and tracking each run, Jan set out to create an app that would automatically help users save money towards replacing usage-based consumable items as they use them.
āWhat I came up with was this way of automatically saving for replacement shoes by integrating it (Investecās Transfer API) with Strava, which is this social activity-sharing site,ā he said.
How Run to the Bills works
Tracking gear with Strava
Strava has built-in functionality that allows you to add gear and track its usage. The process differs slightly from desktop to mobile, but you can add details such as the brand and model of shoe, and enter a nickname.
Strava will automatically assign mileage to the shoes that you select based on the workouts you sync from a smart device like a sport watch, smartwatch, smartphone or other fitness tracker. When this happens, an update with an activity identity is received by Run to the Bills server.
Database comparison
The server pulls the type of shoe and the distance run from Strava. A compare function then enables the program to measure the differences between shoes stored on a local MongoDB database, which contains information like the name of the shoes and the distance already covered, along with similar information previously extracted from Strava. The app is also connected to your Investec Transactions APIand can access the savings history for a specific shoe.
On the Run to the Bills front end, you are able to input the lifespan and replacement cost of your current shoes, plus the savings youāve accumulated for a new pair of shoes.
Taking the Programmable Banking community through the process of adding a new pair of shoes, Jan explains, āOnce Iāve selected them, it gets this distance that Strava says is the amount that I ran with this pair and then I can go on to define the lifespan of these shoes.
āI think I can maybe run 900km in total with them, and to replace them will cost around R2 000. Just because I want to avoid making too-big transactions, Iām going to say that Iāve already saved R1 000,ā he says.
Automated savings
The difference between the maximum mileage and distance already covered, as well as the replacement value and the contributions that have already been made are used to calculate the value per kilometre. This value is then multiplied by the distance of a specific activity, the cost is calculated and the amount is transferred from your current account to your savings account.
āIf thereās an update, it will let my app know that there was a new event and, there in the app, I log the shoe that I ran with. Based on that, Iāll get the distance and make a calculation to determine the amount that needs to be saved,ā explains Jan
Why use Run for the Bills
Although the MVP is designed to be used to help runners put aside savings to replace running shoes that reach their maximum mileage, the same concept could used for a variety of other usage-based consumables.
Run for the Bills ensures that users will have savings available for the replacement of an item without guessing when the replacement is due and how much the saving contributions should be.
Get involved in the Programmable Banking Community
If you want to see more from what the community has been up to, you can: