SmartGolfa is a web and mobile platform that allows users to play golf at their own pace. Users can buy golf packages that can be used throughout a network of courses in Sweden, according to their schedule. Teevolution started SmartGolfa in 2009. Since its launch, the platform has experienced continuous growth.
The idea for SmartGolfa was born from the simple concept of making golf more digitally accessible and opening the market to a new audience, by keeping costs down. The application allows users to book start times on 60+ golf courses and buy greens fees. Users also have the option to be rewarded with free greens fees by recruiting friends. Users log in with their phones to purchase packages that can be used throughout the golfing season.
Miracle Mill started the cooperation with Teevolution in 2016. When Miracle Mill took over the development the site was deployed in a WordPress setup. As the business model grew it was time to build a custom platform that would allow for future scalability, mobile access, and more interactivity. The platform was initially deployed to Azure for its cloud computing service.
In 2018 it was identified that due to the ambitions of the client and the growth of the customer base the platform needed a significant investment, both in terms of features and infrastructure. An Agile collaborative approach was established together with the client and a plan was created to gradually started using more cloud services.
We began to structure the migration plan that would be systematically completed. The client's Product Owner and CEO, alongside Miracle Mill’s CTO, worked to formulate the business requirements. A cross-functional team was comprised consisting of four engineers, one QA engineer, and one designer to complete the development of the platform. The development team worked in an Agile capacity to ensure deliverables were on time and up to the predefined standards. In addition to AWS services the platform is utilizing, Angular, Node.js, Cordova, Salesforce integration, and Klarna for the payment system. By mid-2019 the services have been deployed completely serverless on AWS.
In 2018 one of the continuous challenges the project was facing were limitations in the current customer relations management. This triggered the team to move certain parts of the system into Salesforce while at the same time convert the remaining items to fully utilize the serverless services that had become available in AWS. In addition, a significant effort was put into making the system fully multi-brand enabled, which means the platform can be used for other brands and partners.
In order to manage content efficiently, all content was moved into Contentful while the translations are now managed in Locize. We engaged in stakeholder interviews and daily conversations with the core team. The goal was to help articulate the goals and objectives for the changes. We also wanted to showcase how AWS could help the SmartGolfa platform, in terms of scalability, security, and cost savings. Helping the client to understand how they would benefit and how the transition would be made was the main objective. We wanted to validify how AWS could be used to solve some of the complex issues on the previous platform, while reusing the components that work well.
Our analysis concluded that SmartGolfa would gain operational productivity and flexibility by moving to a serverless model. For example, costs will be closely related to traffic and therefore revenue. There would not be any scaling issues as the service grows in popularity and more services are integrated into the platform.
Furthermore, one of the main benefits of using AWS is a decrease in development time, allowing the finalized product to move to market quicker. We proceeded to assess cloud readiness and create a plan for the initial migration and future development goals.
The first step was to set up a code pipeline that enables us to use continuous integration and to prepare the platform to use continuous deployment. Certain components were gradually changed and moved such as authentication to Amazon Cognito and backend code was moved to AWS Lambda. AWS Step Functions are used for anything that requires transactional safety and data was moved into Salesforce gradually.
After approximately nine months of work, the following AWS services had been implemented with all corresponding data migrated successfully. In total, the project is utilizing multiple AWS services for development purposes and client interaction purposes.
AWS Lambda is being used for backend API calls. AWS Step Functions are being used for functions that take longer than a few milliseconds to complete, and also where transactional safety is required such as bookings and purchases. Amazon CloudWatch is being used for surveillance and Amazon Simple Storage Service (S3) for storage. Both the frontend and the backend utilize an API gateway to front the customer and provide efficient service. Amazon Cognito has been extended with plugins for authentication for mobile and web using Amazon Simple Notification Service (SNS) for SMS notifications. Amazon DynamoDB is the database in use.
The web client is deployed serverless with server-side rendering and all PWA features enabled, which enables the user to install the PWA with minimum efforts. There is also a version of the app deployed to Google Play and Apple App Store for users who prefer to install the app using the stores in their phones.
The service currently services 50,000 golf users with minimum downtime. The AWS services are being used in a way that scalability will not be an issue and there is not a limitation to the number of users that can be added to the system. SmartGolfa and other brands can continue to acquire new users and virtually nothing will need to be adjusted. As the lead engineer on the project mentioned,
“Scalability: has not been and will not be an issue, as none of the services used have any scalability limitations.
The migration improved platform security, reliability, cost, authentication process, and performance. The speed of the application has also been improved. There is a lot of activity on the platform and user optimization continues to exceed expectations. The platform is ready to be extended with new features that the golfers of tomorrow expect.
Andreas Jönsson, the CEO of Teevolution mentioned,
“We are happy with our decision to migrate to AWS. Now we have a robust, enterprise-grade solution”