In August I was on the same flight with Itisam, one of the software engineers in the debit card team. We chatted about what he had been working on and then went on to my user feedback - I had been using the green "Hello World!" debit card exclusively for 2 years going. We talked through a couple of features and how we could go about building them - a DCC warning notification was one of them.
Inspired by the conversation, I went on to research the data we have been seeing about DCC and had a spare weekend coming up, so I thought I could give it a go - to build it myself.
I'm not a software engineer, not for any practical purposes. Yet I've been always curious how they do it, so I had a pretty good overview already of how the systems hang together. The way to set up the feature was to add a new spring boot micro service, which does the following:
- listen to debit card authorisation events from our Kafka cluster
- analyse each event, specifically check if the transaction currency is what we'd expect to be used in the country, where the transaction took place
- estimate the savings, based on the currency, country and merchant
- queue a push notification and an in-app inbox message to the user
It was nice to try out different bits of technical infrastructure I could use for the purpose.
- We have a github template for spring-boot services, which wires all security, database connections and many other TransferWise specific goodies
- There is a widely used homegrown library, which handles out of the box Kafka message consuming, task creation and asynchronous processing. It is open sourced as tw-tasks-executor.
- I took advantage of our feature-service, another microservice, which lets us test new features in production for whitelisted users and handles gradual roll-out
- Our notification-service abstracts away the sending of push notifications, emails, in-app inbox messages, webhooks, etc.
- Having the standard circle-ci build pipeline, prometheus, rollbar, new relic and kubernetes config all helped
At the end of the day my service was only a couple of hundred lines of code. It didn't get done in the first weekend, it took a few more Saturdays and evenings over 4 weeks.
Coding is pretty far from my day job and I won't be good at it, but I learned a lot in the process. Someone told me you're going to be a pretty poor dairy farmer, if you never try to milk the cow.
Transfers are now cheaper: 1. If you send from USD or GBP to anywhere in the world, or 2. If you send from anywhere in the world to any of these currencies i
Helló and isten hozott to TransferWise, Hungarian bank details. Whether you’re in Buda or Pest, Bangkok or Pisco, you can now receive forints straight into...
We are thrilled to announce that our customers in Japan can now open a multi-currency account to receive money for free. What is a multi-currency account? The...
Get your own bank details to receive lei — just like having a Romanian bank account. Salut and bine ați venit to TransferWise, Romanian bank details. You can...
Another day, another accounting tool synced with TransferWise. FreeAgent has joined the ranks of accounting tools you can now sync with your TransferWise for...
Today is an exciting day for Swiss consumers and for better international banking in Switzerland. For the first time, we’ve brought TransferWise for Banks,...