ACME WhatsApp Banking

Victor Paulo
3 min readAug 29, 2019

--

The idea here is to describe my journey to deliver a solution for an IBM Hackathon from the conception to delivery in a multi-cloud environment using trendy technologies.

Importantly to say that Hackathon is more than one competition, it is a way to crystallises ideas working in an inspirational, innovative and collaborative environment. I need to thank my team Anuj Yadav, Gangan Gandhi, Ian Neale and Sarika Rawat, for the opportunity to learn together, sharing ideas, knowledge and experience. It was a wonderful time.

So, as the title states, the aim of the project was creating a new channel for a fictitious ACME Bank where the customers can interact with it and be able to do almost the same thing they do on Internet Banking, Mobile Banking or ATM.

Why WhatsApp?

AMCE WhatsApp Banking

Because it is where the new and the old generations are, the social network platform which is available 24/7 being present in daily lives of millions of people changing the way we communicate. Why not to do transactions or send some queries to your virtual manager asking for information about mortgage, savings, financial advice, to name a few. Or, even better, why not starting and finishing the transaction in the same way you do on ATM via WhatsApp? This is the idea.

There are many companies starting the same journey, if you google it you can find their initiatives, as well as a sea of possibilities to improve the customer experience. Of course, there are security constraints and challenges involved but it can be solved with a bit of creativity and integration with other channels such as internet banking or mobile banking when asking for credentials or for transaction completion.

WhatsApp is evolving from a mere chatting tool to a messaging platform that can be used for providing banking services. There are infinite business features that can be implemented and this article aims to present the creation process from development to multi-cloud environment. Let’s go?

Architecture Overview

The depicted architecture is based on microservices running on top of Kubernetes(k8s) and IBM Watson Assistant which is the AI platform for creating chatbots. Besides that, the solution is using IBM Watson Text-to-Speech API for translating text to voice and Amazon S3 for storing audio files returned from chatbot.

The Kubernetes platform used was GKE (Google Kubernetes Engine).

The other Cloud platforms used by the solution comprises Amazon AWS and IBM Cloud.

Business case description

  1. An existing customer goes to a ACME branch or via Internet/Mobile banking to authorise his/her smartphone to have transactions based on WhatsApp;
  2. The customer adds the ACME WhatsApp Banking number in his/her contact in the telephone and WhatsApp;
  3. After authorisation process (steps 1 and 2, performed only once) the customer sends a message to start interacting with the bank;
  4. Once the customer is identified the transactions options will be shown (e.g. mortgage, transfer, payment, balance, withdraw authorisation, etc.);
  5. To finish any transaction, the customer receives a link to provide his/her credentials and confirm some confidential data, after that, the customer gets an SMS message and confirms the transaction using the passcode received.

Cloud native technologies

Cloud native technologies used in this solution includes, but is not limited to:

  • Kubernetes — Container Orchestrator
  • Helm.sh — Package Manager for Kubernetes
  • Draft.sh — Scaffolding and Deployment tool
  • Prometheus & Grafana — Observability (Monitoring)
  • MongoDB — NoSQL database
  • Terraform — Infrastructure as a Code

Getting started

I’ll split this article in some parts as it follows:

--

--

Victor Paulo

“We are what we repeatedly do. Excellence then, is not an act but a habit.” — Aristotle