A continuously integrated CMS

Awkbit successfully worked with Appnovation to provide Continuous Integration and Content Management System solutions for one of the biggest tourism websites in the US.

Fully automated integration pipeline

Awkbit worked with Appnovation side by side to develop a microsite and the whole marketing platform for over 30,000 content nodes using Drupal and Gatsby.

The first goal was to integrate code provided by ten different developers, which was accomplished by creating a Continuous Integration pipeline and providing secure and reliable environments for Quality Assurance and User Acceptance Testing.

The service that Awkbit provided was crucial for this project. Implementing a CI pipeline streamlined the software development lifecycle. With CI, we developed a specific solution for Appnovation based on an optimized infrastructure and an integrated pipeline.

  • BitbucketBitbucket
  • Google Cloud PlatformGoogle Cloud Platform
  • JenkinsJenkins
  • KubernetesKubernetes


According to the Appnovation's needs, two partial objectives fell within the scope of Continuous Integration. They were as follows:

  1. Setting up a Continuous Integration pipeline was essential to support and merge the code from ten developers working together.
  2. It was necessary to provide secure and reliable environments to allow for internal Quality Assurance and User Acceptance Testing.


To achieve these two objectives, we strategically hand-picked the best features and technologies to suit this project.

The goal was to expose content in Drupal through a GraphQL API that would feed the Gatsby site during build time. Therefore, we chose Jenkins to provide automation to the development lifecycle. It was the tool in charge of deploying Drupal, running all maintenance and clean-up tasks, and synchronizing the build process for the Gatsby site.

For the source code repository, we used Bitbucket. Google Cloud Platform provided cloud computing services for data storage, analytics, and infrastructure. Finally, Kubernetes allowed for container orchestration and automating deployments, scaling, and management.


Thanks to the combination of the technologies used and the know-how of our development team, we created a Continuous Integration pipeline that builds 30,000 content pieces from Drupal 8 into a React static site.

Interface and content management redesign

A custom Content Management System was essential for Appnovation, as the travel industry needs flexibility and the capacity to change every season. We prioritized a simple way to upload, edit, and share content while maintaining a seamless experience for the end user.

The second part of this project required creating a fast user Interface with a fresh and modern look and feel, achieved along with the redesign of the business information architecture and an expected improved sales conversion rate.

The custom CMS gave Appnovation a flexible solution that adapts to the ebb and flow of the travel market.

In summary, our work with Appnovation was fruitful, effective, and stuck to the valuable, relevant changes necessary for a successful website that can thrive within the travel industry.

  • Drupal 8Drupal 8
  • ElasticsearchElasticsearch
  • GatsbyGatsby
  • GraphQLGraphQL
  • LingotekLingotek
  • ReactReact


Following the Appnovation's needs, we set two objectives to develop a custom Content Management System.

  1. As a top priority, Appnovation wanted an authoring system that enhanced the overall digital experience for the end users.
  2. On top of the effective front end provided, Appnovation also needed a business information architecture redesign to improve sales conversion.


To achieve these objectives, we leveraged the leading technologies in the industry, providing an efficient and dedicated tool kit for this case.

Drupal is our CMS of choice, providing a reliable, secure, and versatile headless application programming interface (API) server. For this project, Awkbit developed the CMS in Drupal 8, which was the latest release at the time.

We used Gatsby to create a sleek and responsive front end that improved performance and kept loading times and waiting to a minimum. Also, thanks to Gatsby's lightweight quality, we reduced the building process from 9 hours to 30 minutes, adding velocity to the deployment phase.

By integrating Lingotek, we could implement content translated into 12 languages meeting Appnovation’s international needs. It is tourism, after all!

Also, we used GraphQL to reduce server load, facilitate building and centralize multiple sources due to dealing with a large team of independent collaborators. With React, we created the UI and arranged a React components library using Storybooks.

Elasticsearch was used to identify errors and debugging as early as possible and provide search integration between Gatsby and Elasticsearch through the Drupal connector.

Finally, thanks to REST API, we decided to store data in the CMS, which became an alternative to GraphQL mutations.


Thanks to an effective User Interface redesign, Awkbit transformed Appnovation's consumer digital experience into a rock-solid fast platform. This site allows users to do better searches, access needed information, and successfully plan for trips.

While at it, Awkbit enhanced the CMS authoring workflow experience for content editors from 11 international markets distributed across the planet, providing a globalized solution looking out to the world.

When looking back, we are glad to have accomplished our objectives. Establishing trust and solving specific needs is always a challenge we look forward to, and that is why we were delighted to work with Appnovation. You can dive deeper into the rest of the case on Appnovation's website.

Appno 1Appno 2Appno 3Appno 4