Lympo app development update from CPO Marius Silenskis and CTO Gintautas Kisonas — June 2018

It has been a while since our last app development update, and we feel that the time has come for us to give you, our community, a more in-depth look at what our development team has been working on. We invite you to watch a video by our Chief Product Officer Marius Silenskis and read a more detailed report by Chief Technology Officer — Gintautas Kisonas.

Hey everyone! Gintautas here. First of all, I would like to express my joy that during the recent month and a half we have hired some great people and currently we have an excellent team of 15 developers and a perfect blend of experience and enthusiasm. Our coders are exceptionally motivated and extremely devoted, which makes working together a breeze.

System design

Let’s talk a bit about our system design philosophy. To put it shortly, our main priorities are for the system to be decoupled, scalable and secure. Of course, as is usually the case, it isn’t as simple as it sounds. Luckily, we aren’t the only ones tackling similar problems, so we took inspiration from industry-proven techniques to do the job.

The first tool in our toolset is the microservice architecture. We quickly realized that we could not scale our development process without having a modular system design, so it was not a hard decision to make.

The only things which could potentially hinder the development process when choosing the microservice path, is tooling and infrastructure. Luckily, we have one of the best DevOps professionals in the industry and some very enthusiastic coders, which makes the process go smoothly.

Infrastructure and security

For infrastructure, we chose to use a hybrid solution. We want to be as cautious as possible with the data we gather, so we are building a private blockchain network to ensure full control of all aspects of the data we will collect and store. At the same time, we don’t want to lose the benefits of automated provisioning for general purpose servers. We want auto-scaling and automation, so we use Docker Swarm for computing on Digital Ocean, and AWS Managed Services for storage of non-ledger data.

For security, we use a system without public endpoints, standing as a financial operations layer between the public internet and our private blockchain, also, extensive (and we mean it!) logging and constant system monitoring. In the near future, we are also planning to develop an automated AI threat detection solution.

Fraud prevention

I know that a lot of you are wondering about fraud prevention. We can assure you that cheating Lympo’s system won’t be easy. We are, without a doubt, aware that there will always be someone trying to trick our system to receive rewards which they haven’t earned, but from day one we will make it very difficult to do so. We use a simple philosophy here; cheating should be harder than earning LYM with honest work.

I believe we can reveal an interesting detail about the technical design we chose, as a pipeline for our sports apps and device integration. We use Apache Kafka and accompanying tools, as the backbone of our streaming data processing. Kafka works as a means of storage and a broker at the same time and because of this it’s a common choice for these kinds of challenges. This is the principal scheme of our data processing:

This illustrates our development philosophy really well — to not over engineer and to use industry-proven tools as much as possible. It’s important at this stage of development to not deadlock ourselves due to vendor and/or software limitations. So, using a modular design and choosing single purpose development tools is essential to remain flexible for upcoming future challenges.

That’s all for now! We are sprinting to finish the app in time, and we will make it, without a doubt.

Kind regards,

Gintautas Kisonas

CTO / Software Development Lead / Process Architect

Lympo

Gintautas Kisonas is Lympo‘s CTO and software development lead, specializing in process architecture. While primarily busy orchestrating processes and leading the team, he‘s also designing and developing software himself. Gintautas has extensive experience in multiple industries and seeks to apply his skills to all kinds of business-related needs, both technical and non-technical. Favorite sports: tennis and basketball.