Bringing the fun back into finance: Interview with the co-founder of trading app BUX
Joost van de Wijgerd, the co-founder and CTO of trading app BUX, offers insight into the making of this Amsterdam-based company and proves that innovation goes hand in hand with product ideas, not necessarily with technical architecture. Plus, he offers a sneak peek into his JAX Finance session.
BUX is a successful trading app which aims to make trading more accessible and straightforward. The success of this Dutch startup lies in its product idea: to transform trading into a game by allowing traders to start off with virtual money before using real money. We are talking to Joost van de Wijgerd, the co-founder and CTO of BUX about what is under this company’s hood and what should JAX Finance attendees expect from his session.
JAXenter: What exactly is BUX?
BUX provides a mobile app (iOS and Android) that makes trading on the stock markets really accessible. We focus on a fun experience while trying to teach people how the markets work. We try to accomplish this goal by following three steps. First, everybody starts with virtual money (funBUX) and can keep playing with virtual money for as long as they want. Second, we have an extensive social layer consisting of Battles (time-boxed trading competitions between a group of users), Groups (of up to 100 people, similar to WhatsApp Groups) and Channels (up to 10 members providing content to many followers). Finally, we provide an in-app news channel and educational content.
When users are confident enough they can open a real money (seriousBUX) account and start trading with actual money. This is also the main business model of BUX; for every seriousBUX transaction we collect a trading fee. As we want to keep the barrier of entry low, the minimum fee is 25 cents / pence per transaction.
We currently have more that 300 thousand accounts in four countries (The Netherland, United Kingdom, Germany and Austria) and over 15 thousand seriousBUX accounts.
JAXenter: You mentioned that BUX combines elements from the gaming / mobile messaging / trading world. How is this merger working?
I have a background in Mobile Messaging (at eBuddy) and when we started with BUX I immediately saw the similarities between the two worlds (i.e. sending a price quote for a product to a mobile phone is no different than sending a text message). Furthermore, if you look at the stock markets it can be seen as a big game, a game that changes everyday and is influenced heavily by real-world events. It’s also something that people have an opinion about, an opinion that they like to share with other (like-minded) people.
These insights have brought us to build the app that we have today, and we are still building and have a ton of ideas for the future!
JAXenter: Your company combines traditional technologies used in the financial world with a modern “Reactive Architecture”. How does BUX work, technically speaking?
At the core we use an open source actor framework called ElasticActors (Disclaimer: I am the author of this framework) which enables us to keep all of the current user state on the server. Therefore, we have no state on our (native) mobile clients. With this approach we can develop new features very quickly.
Our whole architecture is message / event driven and we store all individual events in our elasticsearch cluster. We then use this data to drive various features in the app (for instance our graphs) as well as business intelligence using Kibana and Spark.
As for the more traditional technologies, we are using the FIX protocol to communicate with the broker that handles our real money order flow, we are 100% Java 8 (on the back-end) and we are using MySQL InnoDB to store our financial data.
JAXenter: In what way do reactive architectures innovate Retail Trading?
With this architecture choice we have created a scalable environment that gives us constant latency and a programming model on both client and server that enables us to quickly develop, test and release new features while supporting a quickly-expanding user base.
However, I do feel that the innovation from BUX comes more from the product ideas than from the technical architecture. Also, I would personally use an architecture like this to build any mobile B2C application, not just a retail trading app.
JAXenter: How is it possible to release your product bi-weekly with such a small team of only 3 mobile and 3 back-end developers?
I think this question is answered in the previous items. However, I would like to add that we also have an extensive DevOps environment using TheForeman, Puppet/Hieradata, GitHub and Proxmox VE that enables us to operate the BUX backend with only 3 developers (and no sysadmins).
JAXenter: What is the core message of your session? What should every attendee have learned by the end of the day?
My goal is to introduce our architecture and then focus on our actor system implementation and how it drives our app. Hopefully I can convince the listeners that this kind of architecture (not necessarily using the same components) is the way forward for mobile app development (from the back-end perspective).