Hire developers Community Blog Find a dev job Log in
Close menu
Tech insights: Run to the Bills: The App That Helps You Save Money While You Exercise
Less noise, more data. Get the biggest data report on software developer careers in South Africa.

Run to the Bills: The App That Helps You Save Money While You Exercise

23 April 2024, by Shannagh Hare

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.

programmable banking strava tracking app

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:

offerzen_investec_Developer_Finance_Guide_Banner_for_Blog_posts-10

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Subscribe to our blog

Donā€™t miss out on cool content. Every week we add new content to our blog, subscribe now.

By subscribing you consent to receive OfferZenā€™s newsletter and agree to our Privacy Policy and use of cookies.