A review of 2018

Nino Ulsamer
StashAway Engineering
10 min readJan 1, 2019

As 2018 has come to an end it is a good time to review what we’ve achieved at StashAway in terms of technology and product development over the last 12 months.

Looking back, 2018 for us was the year where we put the foundations to the test that we had built since founding the company and writing the first lines of code in the end of 2016: we added many new product features, onboarded large numbers of customers, went through several audits, significantly increased the number of transactions processed, and doubled the size of our tech team. Also, since we are attempting to stay in close contact with our customers, we built lots of useful tools and integrations to improve our marketing efforts as well as data analytics and BI capabilities.

Let’s look at some of our achievements one by one:

Marketing

NPS Survey

In the beginning of the year we launched what we call our “NPS Survey” tool. For those of you who don’t know, NPS stands for Net Promoter Score and is a wide-spread way of measuring customer satisfaction with a product or service.

Sent via email to customers after 3 months

We use responses to the survey in several ways: if the customer is unhappy with our product, we ask for further comments and whether or not our customer engagement team are allowed to reach out for clarifications and try to help improve the situation. Of course, there are also plenty of useful recommendations that customers give us of ways how we could improve our product. These are fed via a Slack integration directly to the product team and considered within our roadmap planning.

Relaunch of marketing website

Mobile first, even on the homepage

As our marketing website had been launched already in 2016 we felt it was time for a complete re-vamp to improve visual appeal and the presentation of information. But on top of that we are now also generating our website using a CMS that the marketing team can use to create new pages based on templates without any involvement of the tech team, therefore allowing a much faster iteration on marketing ideas and promotional/landing pages. Additionally, we can curate a list of articles that will be promoted in our app, eg. a link to the latest CIO newsletter, new feature introductions, etc.

Our CMS is based on Wagtail and generates a static version of the website using Gatsby that is served via AWS / CloudFront to improve security and deliverability.

Internal tooling

As a tech company we are always striving to support business departments with great technology and automation, and in 2018 we’ve specifically laid out the building blocks of a great CRM and BI infrastructure.

Over the course of the year we have decided to build up our own tracking and analytics infrastructure, as the 3rd party systems that we reviewed were either too expensive or not flexible enough for our needs. Many companies are focused on eCommerce and it is much more difficult to find a great analytics solution for a FinTech product, also considering regulatory frameworks that require extremely careful handling of customer data. We therefore setup a tracking infrastructure using the open-source framework Snowplow that tracks website and product interactions of customers, as well as important events (eg. deposits, withdrawals) that are happening within our platform. All data is then streamed into AWS Redshift that serves as our data warehouse. The data warehouse serves as a central repository of analytics data (customer information never reaches this system) so we can use it to power other systems such as Emarsys (our CRM system, to send out email reminders or push notifications), or Metabase (our BI platform, to create reports, alerts, or visualise data in useful ways).

Operations

One main goal of our backend systems at StashAway is to achieve a high degree of automation, so that we can scale up the number of products, customers, countries to operate in, etc. as much as possible without having to upsize the operations team linearly with that growth. It’s one of the main reasons why we can offer our low fees and pass on cost savings to our customers. Let’s look at some of the improvements that our team achieved last year:

Same day investments

When we started out we were only using our Broker’s EOD (end of day) files for processing of transactions, as these are the files that contain “the truth”. However, because customers’ monies actually flow through several accounts in order to achieve the best currency conversion rates, this process initially took several days (as we had to wait for the EOD file being sent the next morning for each step of the way). Early in the year we rolled out a new system that establishes connectivity to the Brokerage accounts and can read their notification messages in real-time, settling transactions in minutes of time. This allows for customer deposits to be invested the same day as long as the money arrives on our accounts before ~2pm.

Suspicious transaction monitoring

Being part of the financial system comes with some very important responsibilities, one of them the establishment of rules to counter Money Laundering and/or Terrorist Financing (AML / CFT). As part of these rules we carry out automated checks on customer transactions to detect abnormalities. These checks had been performed manually in the beginning, but are now automated due to the increase in number of deposits and customers.

Withholding tax reimbursement

For the first time in 2018 we distributed back taxes that had been withheld by the IRS on dividends of the tax year 2017. The entire process also served as a platform to test our freshly launched push notifications in order to inform our customers of the good news.

Trading automation

When you launch a product, you try to get to market as fast as possible, and due to the initially low volumes of transactions and customers you will have enough capacity to deal with some of the daily and recurring operations in a manual way. It is only further down the road that you need to automate more and more of these processes for them not to become a bottleneck that negatively affects growth and scalability. The daily trading activities are no exception to this rule — we have always traded “algorithmically” (ie. placing trades according to certain rules) but still had to enter these resulting orders by hand into the broker’s interface. We have since automated this process and can trigger the trade placement with the click of a button (and additional authentication steps, for security purposes).

Infrastructure

The systems and servers that power a product are usually invisible to a customer, at least as long as they are working well. Signs of problems can usually be spotted by slow reaction times or frequent downtime of services as the product grows in number of users or transactions. As it is very time-consuming to build the perfectly self-healing, automated, secure infrastructure that we all dream of from day 1, when you launch a business you will need to make certain trade-offs. We never traded off security or stability, but were managing many aspects of our servers and infrastructure manually. In 2018 we pushed our infrastructure to the next level using Terraform, Kubernetes, Ansible, and Docker, and have since gained a lot of confidence in rolling out infrastructure-related changes of our platform, because all of the configuration is “in code” and can be accurately reviewed and tested upfront.

Rancher → Kubernetes

You probably have not heard of Rancher, but probably have heard of Kubernetes. The leapfrogging development of the Kubernetes ecosystem convinced us in late 2017 to migrate our existing infrastructure from Rancher which we had used to start with — a task that took several months to complete, as we had to continue supporting the ongoing development and migrate all services without the possibility of data-loss or major outages in parallel. The migration was successful and we now proudly have true “infrastructure as code”, giving us the ability to look at our infrastructure in a Git repository, review and approve changes, and to replicate our entire platform into a new AWS account in a matter of hours. This also was a necessary requirement to be able to launch our operations in Malaysia without a significant increase in the team size.

Airflow

Originally we stumbled upon Airflow when researching for systems that can run ETL processes for our data warehouse setup. Ever since, Airflow has become an integral part of our infrastructure. Its main advantage is the ability to express dependencies between different tasks that must be run at different times of the day, either triggered by a scheduler or another task. If a task fails we can inspect log messages and run a retry after fixing potential issues in downstream systems.

It also looks aesthetically pleasing!

Pentesting and Audits

2018 has also been the year of audits for StashAway. As we had been in operations for one year there were certain initial checks that were performed. The launch of our offering in Malaysia triggered further inspections. In short, we now are experts at dealing with regulators and auditors, and our systems and processes have been examined in great detail. We believe it is important for stringent regulatory requirements to be in place to protect the industry as a whole, as any negative incident could easily hurt the trust relationship with customers. We continuously have been investing significant time and resources into ensuring that our platform is running in a stable and secure manner and will continue to do so.

Product

Last but not least, we have been doing all the above to enable the single most important thing — our product itself! In 2018 we have built many impactful features, and our roadmap for 2019 is packed with more exciting things to come!

Design updates

Compare the version from early this year with what’s currently online:

Left: 2017, Right: 2018

Looks very different! Many times the introduction of new features such as the viewing of articles in-app (right column) required a redesign of the product to use the available screen space in the best way.

Mobile apps

More focus on content and education

While we had initial iPhone and Android “view-only” apps already in 2017, in 2018 we started investing much more heavily into the mobile channel. It started by launching our apps as full equivalents of the web-version, so that customers could also onboard through the app. We then ramped up mobile marketing spend so that a great portion of our customers is now acquired on the mobile version of our product. We keep rolling out new features on our mobile apps rapidly: we have pushed 27 updates each to Apple and Google Play app stores over the year, that’s an update every two weeks! React Native as our choice of technology has enabled us to iterate that fast with a small and lean team.

USD deposits & withdrawals

As our investments are held in USD there is a small currency conversion fee of 0.1% that is incurred when assets get converted from SGD to USD, thus it is obviously beneficial for customers to be able to deposit (or withdraw) their funds directly in USD. Thus, in early 2018 we launched a new feature that allowed our customers to do just that.

Higher-risk portfolios

As the portfolios we had originally launched were quite moderate in their level of risk we decided to add a new class of portfolios to the mix that have a higher equity component in their asset allocation. As part of that implementation we also re-designed several components of our backend systems to accommodate for different portfolio types in the future — 2019 shall explain this in more detail :)

Malaysia roll-out

When we started StashAway in 2016 it had always been obvious to us that we wanted to launch this product in other countries in the region. It was therefore not a surprise that we now had to make the product currency-agnostic (MYR instead of SGD), generalise money flows (we use a different bank account structure in MY compared to SG), generalise integration with 3rd party providers such as banks, adapt build- and deployment-pipelines, and so on and so forth. Of course, when launching Singapore we took a couple of shortcuts in order to be fast that we now had to fight with — luckily the team managed to get everything done for a timely launch right after the license had been approved.

SRS deposits

SRS it is a retirement scheme in Singapore, you can learn more about it here: Supplementary Retirement Scheme

As the purpose of SRS is perfectly aligned with what StashAway tries to achieve, the initial feedback from customers has been very positive. This is also the first time that we are able to “pull” money from the customer’s bank account, which makes it a lot easier to create monthly deposit plans which are so important to achieve the positive impact from Dollar-Cost-Averaging. We are constantly working on other improvements to make the money depositing process as easy and seamless as possible, and further improvements are likely to come in 2019.

What’s next?

At StashAway we are very proud of the product that we’ve build over the past two years, and are working hard to improve it even further from where we are today. We believe that we have built very solid foundations at the core that will allow us to rapidly evolve our product over the next years to come.

We use an exciting set of technologies, and have assembled a tech team of very talented engineers who know how to use them in smart and creative ways to deliver innovative solutions to the challenges that we are facing.

The roadmap for 2019 is already fully packed, and we are excited to deliver new features for our customers, and along the way create an impressive tech stack that we will continue to talk about!

With this — 🚀 HAPPY NEW YEAR 🚀

--

--