Case Study

CareerMoov

THE SMART MONEY APP

ABOUT KOLINX

Kolinx has taken the concepts of checking accounts, savings accounts, and credit cards and rolled them all into an easy to use app that provides kids savings opportunities as well as the ability to make purchases, both in stores as well as online.

Kolinx’s unique and fully customizable parental controls allow parents to give their kids a reasonable amount of financial independence while they can rest easy knowing that they’ll be kept in the loop.

Pre-approved Connections can also send and receive money to participate directly towards savings goals, help raise funds for school or social groups, or simply to pay back their share of lunch or other activities.


WHAT WE DID

Kolinx relied on us to build and manage their entire project. It was a major challenge for us to create such a complex app, since it included integrating several third party services, a hybrid mobile app, an AWS infrastructure, and an extremely wide scope of functionalities, with the ultimate goal of getting where no other app has gotten before in offering financial services to kids.

Our highly-skilled team took on the challenge, not only managing the different parts of the project, but also coordinating everything to meet the desired schedule. To achieve this we used our own Agile methodology, delivering weekly releases, so we could get the most out of the client´s constant feedback and guarantee the project’s success.

We are proud to say that we undertook the client’s dream and made it happen.


MOBILE

We developed the app using Ionic Framework 2, which has the advantage of only coding once to build the app for different platforms, which in this case were IOS and Android. However, to ensure a great UX, the UI had to be customized for each platform, which we also succeeded in doing.

The different functionalities of Kolinx include: linking users’ Kolinx account with their bank accounts, credit cards, and PayPal accounts as funding options; enabling users to create and share goals as an incentive to save and to make purchases directly through the App in stores and online; allowing users to connect with their friends and family members to send and receive money; and allowing users to review in real time and manage their sub-accounts (called ‘Ko-accounts’), including setting fully customizable parental controls to ensure responsible spending and savings habits.


BACK-END

The backend is written in Python/Django and powered by DRF (Django Rest Framework) allowing us to create a powerful and extensible set of APIs that will handle the heavy load that the mobile app just can't.

Kolinx uses a customized set of ansible scripts to guarantee fast and reliable server configurations, avoiding human mistakes on the set up.

Since Kolinx allows you to make in-app purchases, the core of the backend is designed as a transactional system to guarantee safety and data consistency. Regarding scalability, we made use of asynchronous processing of key features of the app, allowing the infrastructure to resize itself on high/low demand, and improve latency times.

One of Kolinx’s main design goals is to improve communication between parents and children, which is why this is such a strong feature of the app. Parent accounts and Ko-accounts have the option to fully customize their push notifications, creating an app capable of fitting both their needs.

Parent accounts are able to fully manage their Ko-accounts, customizing what their kids can do with the app, see their latest activity, and control how kids handle money and connections.

As we are used to saying: to deliver a great app, you'll need a strong backend. And Kolinx's app has fulfilled this need.


CLOUD

The whole architecture is designed, built and tested in Amazon Cloud (AWS), where we take advantage of different services:

  • SNS: for sending text messages to your connections;
  • SES: used to send email notifications to the users;
  • SQS: for storing and processing data;
  • EC2: for the servers, the Load Balancers, and the auto scaling groups;
  • ELB: to manage the incoming requests;
  • RDS: for hosting the relational databases.

We aimed to get a flexible and reliable infrastructure to manage different loads of work, and we got it. All this was needed to get a flexible and reliable infrastructure.

And we sure got it.


Image Gallery