Awakened by the increasingly alarming climate and ecological situation, I have recently been considering how I might be able to make more informed, ethical purchase decisions.
Helpfully, there are a number of reputable organisations that accredit, and sometimes discredit, businesses in relevant ways. For example, the Carbon Trust helps businesses to become more sustainable and low carbon, and certifies achievements such as becoming carbon neutral. BCorp, on the other hand, recognises businesses that are legally required to consider not only profit, but also the people within their businesses and supply chains, and the environment - sometimes known as the ‘’Triple Bottom Line’.
Equally, there are organisations such as Greenpeace who will release reports listing particularly unethical actors; businesses who behave in reckless ways with regard to the environment or their supply chains for example.
But, barring the odd media report, this valuable data is not always obvious to the consumer at the time of purchase.
How can this information be made more accessible to those who want to know about it?
A separate app would be one approach, but given the statistics on the number of apps people actually use on their phone, this approach is challenging. Furthermore, a separate app would need to access information on a person's life somehow; manually entering one’s interactions with businesses would probably be time consuming. Far from ideal.
Given this, I thought more and came to rest on the Monzo app. I'm a big fan of Monzo and having been a customer since early on, am very familiar with their app. Furthermore, their forward-thinking approach and ethical stance is impressive.
The app proves to be the best source of truth I already have on my interactions with businesses, and given that I use it most days, it seems to be a great place to get the ethical data in front of other app users, with a minimal amount of friction.
Tinkering with the possibilities presented by Open Banking
Due to EU ‘Open Banking’ legislation, all payment providers must open customer data up to third parties, which is what will allow us to experiment here. Specifically, we will need to pull transaction data out of the app, cross check it with our ethical information providers, and add this supplementary data back into the Monzo app.
Planning with Postman
Now for the (more) techy bit. Helpfully, Monzo’s API is well documented for developers. After signing in with your registered Monzo email address (what do you mean you don’t have an account!), we can obtain the details (userId, accountId, and an access token) we need to get going.
I started off in Postman just to check the API behaved how I was expecting. It’s also nice to build up a collection of different API’s over time for future reference.
If you would like to play around with the requests I recreated and are a Postman user (or would like to try out Postman) yourself, click the button to download..
You will need to set up your own environment variables within Postman - I suggest creating a dedicated ‘Monzo’ environment to hold them, check out the docs here.
Version 1 - Augmenting the transaction
When a transaction occurs, Monzo lets us know via a webhook, which contains the required details such as the retailer. We then cross check the retailer with our (currently) fictional database, and send back the augmented transaction information along with the ethical information that we want.
To help those who are less familiar with the Monzo app, here is a feed item for my swimming pool membership, showing transaction details as it first appeared in the feed.
Picture showing transaction details in a feed item within the Monzo app
And here is the transaction with our (completely made up!) environmental note added..
Picture shows an imagined supplementary data useful for a consumer concerned by ethics of a business.
This is a start - we are partly achieving our goal of giving the consumer the information, but it is a bit underwhelming... It fights for space with other information and is perhaps easy to miss in the wider feed. Not to mention that we are pushing out of view of a reference number for the transaction that is already there.
Version 2 - Adding a feed item to the transaction feed
For the second iteration, instead of augmenting a transaction, we could fire a feed item back into the Monzo app. This gives us a bit more space to play with, and removes the risk that we obscure other useful data that is already in the note. This approach is shown below.
Because I want to only present to you real pictures of the Monzo app and not photoshopped images, you will have to imagine that the falafel transaction would normally be below the ‘Wait a minute’ feed item that we add, in place of the iTunes feed item.
Picture showing our Feed Item with ethical data that we have sent back into the app
Clicking on the feed item show’s the full detail..
Picture showing the feed item detail page, shown when a user clicks on our feed item.
This is a good result I think, certainly more impactful. Monzo suggest that the feed items should be high value, and I think for those of us who want to force companies to change their behaviour it is high value. Especially because we will not be receiving these feed items for every company we purchase from, but just those at the far end of the ethical spectrum.
To take this idea from the current situation of playing with one’s own data, to an integration along the lines of Tail, a couple of things need to be in place. Firstly, to be allowed to handle transaction data, we would need an AISP (Account Information Service Provider) licence granted by the Open Banking Standards Body. Secondly, the API that provides the ethical data doesn’t exist yet. I think over time though, either through a commercial venture or more interestingly an open source, community based effort (Give me a shout if this is of interest!), we could pull the disparate sources of information together and aid those organisations that create the data in the process.
Finally, we need the banks themselves to see the business value in helping their customers make better informed decisions, or alternatively allow integrations into their ecosystem for this purpose. Whilst some of the traditional banks might be a hard sell, we can dream that 'challenger' banks built on a different set of foundations might be more receptive 🤞. Open banking certainly opens up the possibilities.
Want to view the source code? Check it out here.