"The past can be used to renew the present, not just to bury it."
– Terry Eagleton

Our client used an outdated system for their backbone service. The system became too expensive to maintain and add new features to, but it was in heavy duty – how could we replace the service while keeping it running 24/7?

Business success in today's competitive market depends on the ability to keep up with constant changes. It's especially true if you rely on technology. Our client is a tour operator, their business depends on a booking service that's easy to use and loads fast. This system is the main source of information about package tours, accommodation and service options, and it's used internally by everyone from customer service to top level managers.

The legacy system used by our client was still functioning okay, and it was able to support more than 40,000 bookings each year. To keep up with the new trends, mobile devices, personalised marketing campaigns however, it required expensive maintenance. Today there are excellent frameworks for many of those tasks, but how would the whole system communicate with the external services? How could we make sure that what we build today will be extendible and easy to maintain in the foreseeable future?

This particular system was developed over 15 years ago, written in a programming language called Perl. Perl is a great language built in the 80s, it's general-purpose and used for everything from mathematical computations to building websites.

However, the number of people who use the language is decreasing, and the custom framework the client built is difficult to learn for newbies. With the constant evolution of technology, the invention of new algorithms and methods to get things done, many IT experts are leaving Perl behind. Large financial institutions and banks employ those who can write code in Perl on high day rates. As a result, maintenance of the client's legacy system has become too expensive to handle.

We accepted this challenge and structured a plan to:

  1. Design a system of multiple smaller services that are easy to maintain. Ideally using frameworks that are well maintained and trustworthy – we want to be able to find developers to support them now, and in 10 years time.
  2. Add new extensions to the current system to enable communication between the newly built parts and the old database. These new application-programming interfaces are designed to be future-proof and provide a common language for continuous integration & continuous delivery tools.
  3. Work on each new micro-service one by one. As an example, we rewrote the interface for the partnering tour operator's bookings as a separate, lean application that was still communicating with the old database behind the courtains.
  4. Once all micro-services were in place, we replaced the old database and service with the brand new system that produced identical APIs.

The plan worked with a total of 25 minutes planned downtime. We were able to test and monitor the complete process via introduced continuous delivery and integration tools. These tools are providing a good service today, to alert the client about potential system errors, to catch all those before users see them.

In a relatively short timeframe – in a bit over a year –, we replaced old systems, marketing websites, and booking engines with new micro-services that are fast and easy to maintain on a lower budget. As an example: the client's marketing website is running WordPress now and utilizes custom plug-ins to interact with the old system. Thanks to our out-of-the-box tools and approach, the client is able to use frameworks that are easy to navigate, cheap to run, and are way more future-proof than the outdated system was.

We don't share names in these case studies – while we are proud of our clients and their stories, we respect their privacy and business. For references, please get in touch with us directly.

What we do

Digital project rescue

Project failure statistics are sobering. Big and large, almost one third of all digital projects are realised over budget, over time, or not at all – leaving jobs and businesses at risk. We are experienced in stepping into digital projects at the 11th hour, to get technology back on track.

Technical due diligence

With 100 million new businesses created and 70 million shut down worldwide each year, buying and selling startups and their technology is common practice.
That doesn't make it any risk-free.

Data analytics & research

The real big data challenge is only human. We have to learn to ask the right questions, recognise patterns, make informed assumptions and predictions. Understanding what technology can and cannot offer is step number one.

Case studies

Case study

CTO in the making

After building all their tech with outsource partners, the startup wanted to take control back in-house. Learn how we helped restructure the development team.

Read more
Case study

AI upgrade for the marketing team

What can you actually use AI for? We've implemented a list of algorithms with this client's marketing team.

Read more
Case study

Legacy system under heavy load

A 15-year-old website and booking system running Perl. How can we replace it while keeping the service running 24/7?

Read more
Case study

Fixing a cashier system crash

This fintech startup built an iPad based cashier system, and sold it half-baked to retail shops. Under load then, it crashed even during payment transactions.

Read more
Case study

Transportation system abandoned

The local transportation authority of a USA state capital built a new website and apps to provide real-time travel information. It only got them sued.

Read more
Case study

Startup on a plate

An investor group asked us to build a startup around a business opportunity. We did so, hired our own replacement, and then transferred back the company.

Read more