Sportsbet turbo charges product innovation with a single code repository supporting multiple platforms

Business benefits

  • Driving increased revenue with more rapid time-to-market for new product features
  • Cut feature development time dramatically
  • Successfully revamped complex applications which exploit high-end UI capabilities

Technical highlights

  • 60-70% code reuse across three platforms
  • Single source-code repository
  • Entirely open-source technology based

Industry
Online wagering

 

Geography
Australia

 

Sportsbet is the largest online betting provider (second only to Tabcorp) in the wider wagering market in Australia.

Project features

Consulting & development

  • Application development

Cloud environment

  • AWS
  • Akamai

Technologies

  • TypeScript
  • React and React Native
  • Redux
  • Node.js

Attribution: Gene Blackley from Australia

In the hyper-competitive lightning-paced market of online betting, market leaders are introducing new products and betting features almost weekly.

With one of the largest market shares in Australia, Sportsbet needs agile development platforms to bring new features to market before competitors. In 2016 Sportsbet saw an opportunity to increase the speed of their delivery by removing the need to repeat development efforts across its four digital platforms: an iPhone app, an Android app, and desktop and mobile websites. 

This meant that whenever Sportsbet wanted to add new functionality to its customer-facing apps, the business-logic had to be reimplemented four times. And it required separate teams to repeat the development and implementation of the same features and business logic across four codebases.

Market share at risk from slow product innovation

This inefficiency increased the cost and effort required to deliver new functionality and products. This put Sportsbet at risk of introducing new features to its platforms more slowly than its competitors – risking continued growth of market share.

In 2016, Sportsbet recognised the opportunity to revitalise the user-interface (UI) across its channels and websites, to continue to drive market share growth. However, few developers had the expertise for the desktop website platform. This was a critical concern because a number of high-value customers strongly preferred the desktop site.

Most importantly, Sportsbet was looking to achieve feature-parity across platforms. While the unique UIs of the different platforms would always have inherent differences, Sportsbet was seeking a consistent look-and-feel, and an easier way to roll out new features and bug-fixes across platforms simultaneously.

Simultaneous overhaul of digital platforms

When initiating the project to redevelop the iOS and web platforms, Sportsbet decided to address both this skills-gap challenge as well as the quadruple development effort – with a simultaneous overhaul of the iOS and web platforms.

The purpose was for Sportsbet to develop and deploy new features across all platforms rapidly, in both the short- and longer-term. 

Balance immediate innovation with long-term flexibility

To enable this, Sportsbet’s technology leaders identified three development priorities:

  1. Achieve a high level of code reuse across platforms with a single repository for a shared common codebase.
  2. Select technologies to balance short-term speed of delivery and functional capability, with long-term flexibility and maintainability.
  3. Develop a strategy for training 30+ developers to ensure their productivity with new technologies.

The project team was faced with the following key challenges and decisions:

  • Picking technologies that, in principle, could run on multiple platforms – and in practice, reuse business logic.
  • Finding a way to write code that could run on and accommodate the differences of the three platforms – without compromising the user experience on any one platform. For example, supporting gestures and animated transitions on iOS, and browser back-buttons and SEO optimisation on the desktop and mobile websites. 
  • Up-skilling existing developers and recruiting new developers for effective performance with the chosen technologies.

Open-source flexibility

Sportsbet’s technical leaders selected three key technologies:

  1. TypeScript as the overall programming language because of its ability to keep large JavaScript codebases manageable for large teams
  2. React and React Native as the framework for building the user interfaces
  3. Redux for managing shared business logic and state management

Although not the initial plan, the project was developed entirely with open-source technologies, which widened the pool of developers when recruiting.

Thanks to valuable lessons from earlier projects, Sportsbet adopted a staged approach to growing its development team for this project, starting with a small team of just 5-6 developers. This included a contracted Shine engineer to initially test the key technologies for developing a single vertical slice of functionality, implemented across all three platforms.

Over time, Shine consultants were embedded across all project teams thanks to more than five years’ familiarity with Sportsbet, expertise in React and React Native – and their proven ability to make sound engineering decisions and deliver high quality software. 

For the foundation team, Shine was responsible for investigating and advising Sportsbet on:

  • Unit testing frameworks
  • React web routing frameworks
  • Best practices for using Redux for state management, especially when handling asynchronous operations

The Shine consultant on the foundation team was also responsible for:

  • Ensuring SEO success with Google’s crawler, which involved introducing server-side rendering to the React website
  • Embedding components from the new sites in the old sites, and vice-versa
  • Client-side state persistence
  • Measuring in-browser performance and resolving any issues found
  • Code reviews
Super Saturday at Flemington racecourse (13005834844)

Once the foundation team proved the technologies and development approach, it began to make other important technical decisions, and lay the groundwork for other developers to build on.

The team also created a program for training developers. A single additional team was brought on to undertake the training and test the foundational work by adding new functionality. More teams then came on board one by one, usually with supervision of a founding team member), each with one or two Shine developers.

As the development project expanded, one or two Shine consultants were embedded in each team who were responsible for delivering new features. All code was reviewed within and across teams, mainly to ensure that it fitted within architectural design guidelines. At its peak, the project scaled to over 30 developers.

A key challenge for the project was the sheer scale of the applications. With so many products and special offers, a vast amount of business logic needed to be replicated in applications across the three platforms. 

Code for three platforms stored in single repository

Code for the three iOS and web platforms is now stored in a single source-code repository, with user-interface code for different platforms alongside common business logic.

Of course, the UI code is still platform-specific to maximise the strengths of each platform’s UI. But for greater development efficiency, it now calls common code at the earliest opportunity. Despite these processes being radically different, they draw code from the single repository. 

The project has achieved 60-70% code reuse across platforms. The net decrease in the size of the codebase across the three platforms, plus the standardisation of the technologies chosen, has resulted in improved code quality.

Consistent product experience across platforms

The iOS app, and mobile and desktop web applications were all successfully deployed to production.

Sportsbet’s customers have benefited from a consistent user experience across platforms, which is evidenced by the extremely positive customer feedback received.

New features are now added by a single development team that is responsible for delivery across all four platforms. Sportsbet’s developers no longer specialise in just one platform – everyone builds features across all platforms. Developer skills within the organisation are more portable between teams, and onboarding new starters is seamless and efficient.

Development time cut in half

All this has seen development time for new features being reduced significantly.

More rapid and lower-cost development of features and product innovations has meant quicker time to market to drive increased revenues.

A bold rethink of development architecture

When faced with redeveloping its large and complex customer applications to support the latest betting innovations and cutting-edge user-interface features, Sportsbet totally reimagined its architectural approach.

The new pragmatic and disciplined approach delivered the results with great success. 

The project continues ongoing as new features are consistently added to all platforms, and Shine continues to provide staff to augment Sportsbet’s feature teams.

Attribution: Charles Roffey from England

Copyright Shine Solutions Group 2020. All rights reserved.

Industry
Online wagering

 

Geography
Australia

 

Sportsbet is the largest online betting provider (second only to Tabcorp) in the wider wagering market in Australia.

Project features

Consulting & development

  • Application development

Cloud environment

  • AWS
  • Akamai

Technologies

  • TypeScript
  • React and React Native
  • Redux
  • Node.js
Category
Insights