Travel Industry B2B/B2C solution

Travel Industry B2B/B2C solution

πŸš†βœˆοΈπŸšŒπŸ›³ + Math + Highload + Machine Learning…

Two and a half years ago we’ve got a request from the Travel-business IT company, whose B2C IT solution is the basis for one of the world’s largest travel companies that serves over 1 billion passengers every year.

What did they want to achieve?

What did they want to achieve?

They wanted to quickly design and implement an “internal startup” - an innovative B2B/B2C solution for the travel industry.

What kind of problems did they face?

What kind of problems did they face?

They lacked of IT resources and competencies in:

  • Using Golang
  • Using Kubernetes
  • Applying Math/Graph algorithms
  • Applying Machine Learning They were unsure about the best software architecture for the solution to address all business needs and reduce paid external calls.

They were unsure about achievable performance and related hardware costs.

What we offered?

What we offered?
  • Expertise in Golang and Kubernetes to build high-scalability and high-availability architecture with reasonable hardware costs
  • Expertise in complex math algorithms to implement effective, low latency algorithms for their business problems
  • Optimal caching algorithms for all external requests to reduce costs: implemented in two steps: start with analytical rules-based algos, and when enough data is collected then switch to Machine Learning

Who we are

IKITLAB

We help tech partners that want to successfully build apps or automate businesses, but lack IT resources.

Our specializations are:

  • Rapid development using Ruby on Rails
  • Rich front-end using ReactJS or VueJS
  • High-load solutions / effective parallel computations using Golang
  • Justified Machine Learning parts
  • High-scalability / high-availability via docker / k8s, Google Cloud or AWS

We work in a transparent disciplined agile way.

Our approach in details

Our approach in details

Plan:

  • Step 1: Discovery phase
  • Step 2: Proof-of-Concept phase
  • Step 3: Implement and Go Live
  • Step 4: Continuous Improvement, Support and Transition

Methodology:

  • SCRUM: sprints, daily virtual standups
  • Team chats
  • Tasks in JIRA with estimates, worklogs and full transparency
  • Knowledge base in Confluence
  • Client’s project manager and product owner are presented in all systems and all communications

Step 1: Discovery phase

We analyzed all the requirements and wishes.

We analyzed the market and available researches and approaches (Microsoft research papers, Google researches, machine learning communities, other available papers). We have defined a few options for key algorithms and a draft architecture.

We defined a lot of technical risks and possible responses and agreed to do a PoC phase to reduce all the risks first.

Step 2: Proof-of-Concept phase

We built and tested our solution architecture:

implemented a set of services deployed to Google Cloud, that were running and performing a part of the business process with test data, and executed load tests against them. As a result, we were able to check and address all key uncertainties:

Graph/Math algos Optimal caching approach Solution performance, and Hardware costs Now we were able to define a plan for full implementation.

Step 3: Implement and Go Live

We worked on the solution in an iterative manner and Release 1.0 was ready in the expected timeframe.

We used the following tech stack:

  • Golang / Ruby on Rails / Python
  • Math graph search algos / ML with TensorFlow
  • Postgres / Mongo / Cassandra / Redis / ClickHouse / RabbitMQ / Kafka
  • Prometheus / Grafana / Kibana
  • Docker / Unit Tests + Cucumber Integration Tests / Jenkins + Load tests
  • Kubernetes on Google Cloud and bare metal

Step 4: Continuous Improvement, Support and Transition

We agreed on a roadmap to continue improving the solution - adding new business features and integrations.

In parallel we helped our client to hire and train developers to support the solution and passed the knowledge to them.

We are still partially supporting this solution - helping with complex architecture challenges related to implementation of new business features and helping with IT resources when needed.

Result

Result

Our client was able to start a new business - one of the first in the world to offer an innovative B2B / B2C solution.

Our client was able to improve his existing partnership with that one of the world’s largest travel companies:

  • This lets to the client receive a 97mln USD contract (according to mass media) where our solution is the key part.
  • Btw, overall the Partner’s innovation program where our solution is the key IT part costs 2bln USD (according to mass media). So, the long-term expected benefits are quite high.

Our client was also able to win new partnerships with other largest travel companies - that will bring him many more millions of USD (our fair guess).

Next step

I am happy to share with you common mistakes and good practices in building innovative and scalable high-load solutions πŸš€.

Feel free to book a meeting with me - it will cost you nothing but you could learn something valuable: Contacts