ML Cloud
Mentor List logoML Digital logoML Talent

Case Studies

Case Study #1

Mobility

Cloud Native Services
DevOps

Autonomous mobility company

As part of ongoing product development for the user-facing mobile and in-vehicle software, testing the full lifecycle of a user journey is critical in both development and validation.

While it’s possible to test in person with production vehicles and software environments, running a test mission with multiple engineers in real time on the roads is very expensive and requires access to vehicle hardware that is under high demand from all engineering teams. Typically for a one hour session we could perform 3-4 end to end tests with a minimum of 3 supporting engineers, a vehicle operator and support team, plus access to a test vehicle.

To allow for realistic mission testing without access to test hardware we built and maintained several iterations of mock servers that allow all members of the production team to simulate end to end missions and recreate segment scenarios using a sophisticated and controlled mock environment. This means that end to end testing can be achieved in a matter of minutes with no additional supporting engineering, vehicle operators, or access to any test vehicles.

This has resulted in a number of high-value outcomes:

  • Reduced our team’s reliance on physical access to hardware
  • Massively reduced ongoing costs for our client by reducing our on-vehicle testing time
  • Massively reduced our development and testing iteration times
  • Allowed continued product development during a pandemic where in-person testing is not possible
  • Improved our regression testing to allow for thorough and full end to end testing for every release build

A full Continuous Integration system has been developed and improved over several years in support of the various projects with this company.

This includes:

  • Automated build and deployment pipeline
  • Automated Unit Test and UI Test execution
  • Notification of build status via Slack integrations
  • Support for multiple build types (iOS, Android and Cloud)
  • Support for multiple environments (test, staging, production)
  • Various changes of key distribution systems to meet client needs

Case Study #2

Goverment

Cloud Native Services
Automation
  • Cloud native services
  • Middleware

A government project – a mobile application for iOS and Android that delivers timely updates, rich maps, and documentation to firefighters.

We built out a number of cloud native applications for this project including a middleware which connected to the central server, transforming and combining inconsistent datasets to form a common and predictable API interface for a mobile application.

Additionally we created an automated pipeline that periodically checks for changes in a centralised hunting spatial data source, then processes and uploads that data to Mapbox as needed. This data would then be available to the mobile applications automatically via Mapbox. Notifications of success and failure are posted via email and to an internal Slack channel for monitoring. This process was previously performed manually and would take several hours to a day to complete and be verified.

Case Study #3

Mapping

Cloud Native Services
Automation
DevOps

A publicly facing mobile application showcasing trails and points of interest around a specific state. It is available to download for iOS and Android.

We built a cloud native application that serves several purposes:

  • Hosts the API for the mobile applications
  • Serves mapping data or the mobile applications
  • Performs nightly automated data syncs with recreational data sources
  • Caches and serves optimised media data
  • Serves public facing landing pages
  • Caching and other performance optimisations
  • Built as a Docker container for deployment by the client

Similar to Case Study 2, we built an automated map updating system for road closure updates. This replaced a manual process, and provides success and failure notifications via various notification channels for immediate action as required.

The application is now in a steady state and currently in maintenance. During development, we setup a CI and CD system which included:

  • Automated build and deployment pipeline
  • Automated Unit Test and UI Test execution
  • Notification of build status via Slack integrations
  • Support for multiple environments (test, staging, production)

Case Study #4

Fitness

Cloud Native services
Automation
Devops

A new fitness startup building a mobile-first fitness platform launching in Q4 2021. We have built out the entire technology stack, from the cloud native API and supporting CMS to the integrated mobile applications.

The cloud native back end has a number of key attributes:

  • Provides the Content Management System (CMS)  for the media and workout data
  • Automatically generates customised workouts according to a set of parameters and rules provided
  • Serves large amounts of high-resolution imagery and video via a CDN
  • Provides a consistent and powerful API to serve the
  • Several environments for testing and staging changes before deploying to production
  • Infrastructure built for autoscaling to handle changes in load and traffic without degrading performance and optimising cost

To aid in content creation and data ingestion as we built out the core infrastructure, we needed a system where the client could create and edit data and content for the CMS, while the data formats and APIs were still being designed.

To aid in this, we created a simple Google Spreadsheet for the client to input and update data. We then set up an import pipeline where we could trigger an automated import to bring that data into the staging CMS in a structured format.

A full Continuous Integration system has been developed and deployed for this fitness company, which includes:

  • Automated build and deployment pipeline
  • Automated Unit Test and UI Test execution
  • Notification of build status via Slack integrations
  • Support for multiple build types (iOS, Android and Cloud)
  • Support for multiple environments (test, staging, production)
  • Ability to scale up and down as needed to manage costs, depending on development cycle and team size

Speak To Us Today

Ready to connect? Fill in the form and our team will be in touch.
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram