AI/ML Software Consulting and Development

Golf training app powered by IoT CTRL Golf

Have you ever tried to learn how to play golf with the help of a mobile app?

About CTRL Golf

CTRL Golf aims to change things and promote golf by offering a unique way of learning and improving golf skills. Our client's vision was creating a virtual personal trainer who adapts the training plan and helps to improve the skill individually for each user. Applying unique algorithms, CTRL Golf tracks each training session progress, analyzes the playing style and gives personal recommendations on how to improve the skill. The app aims to inspire users to improve their skills even if the first result is not comforting.

Our Expertise

Software Development


  • Discovery phase
  • App development
  • QA



Key results

  • NPS score 10/10
  • User-friendly application

See what Altamira can do for you


The Challenge

If you tried to learn how to play golf, you would probably find thousands of mobile applications that do almost the same: measure your results without providing any feedback.

All of them miss several crucial things:

  • They do not tell you how to improve
  • They do not track your personal progress
  • They benchmark you against top players versus your own result

CTRL Golf is an IoT application that connects to the sensors (developed by the CTRL Golf team) attached to the golf sleeve, which catch your wrist and shoulder movements during the swing.

CTRL Golf Team already had an iOS version of the application, which made it easier for our team to review and learn the user flows within the system and copy them into the Android application.

Some of the initial end users’ feedback was also provided, thanks to which all positive and negative experiences of customers became possible for consideration in the new iteration of application functionality and design.


The Solution

Regular meetings enabled development and design team to identify key goals for the project.

To improve UX/UI of the application

We created an interface that will help users to connect their sensors easily and enjoy the training. Golfers often play in the bright sun, that’s why our team developed an interface that would be easy to read in any condition.

To provide a reliable connection between sensors and the application

We ensured that connection between the app sensors worked well in any case, especially when the internet connection was poor.

To rethink features

We standardised and unified user flows, removing unused features and extending the existing ones with improvements that users requested.

Use Cases

Along with the mobile app, CTRL Golf provides the hardware package, which consists of:

A glove to attach sensors to. Sensors are connected
to the user’s smartphone to record operational data.

Bluetooth sensors – the first one is on the users` shoulder, and the second one is on the wrist

CTRL Golf sent the prototypes of sensors to our developers, using which we could execute development and testing. However, since this was only a prototype and we had only one package of sensors, the team had to transfer the device from a developer to a tester to execute the works, which led to the timeline extension.

Sensor education on personal swings

Since the devices were prototypes it was hard to execute the debugging process, the defect source could be both device and application.This was resolved later on by coordination with the Ctrl Golf team that were extremely cooperative to provide the testing on their sensors in such occasions

Training process

Based on the training statistics, the app generates detailed and highly visualized reports on the training results and general player progress. Statistics are available for all time, particular training or even just a session within a training and build data for:

  • Top Feedback
  • Feedback Consistency per Club, Swing, Downswing, Backswing, Tempo

Personal pocket golf trainer

In order to minimize the interaction between a golf player and smartphone, the application has two important features

  • Voice Assistant that reads the feedback of each swing
  • Disable the screen auto-lock to keep screen active for a golfer

During the training session of playing golf, it is convenient to check each swing result by looking at the screen of a smartphone.

Strive for excellence with Altamira

Join our community of successful customers, whom we helped to build and grow their businesses.


One of the main requirements was a fundamental improvement in UI and UX. It had to be convenient, inspiring, and engaging.

  • Initially, the user’s feedback was difficult to read as it looked like long charts. Instead, we used the ring concept to structure feedback and make it more readable
  • Showing the short info in rings, and extended feedback and tips in sections below
  • Marking parameters like backswing, downswing, and tempo by colors in rings and expanded info; thus users see what parameter responds to a particular color, and spend less time analyzing the feedback

In the app, we used the same colors as on sensors to make the use more convenient and to show that the sensors and the app are successfully connected.

We also added the calibration and scanning animations to illustrate the  process of sensors and app interaction.

All illustrations and icons used in the application were drawn manually to make the app unique and to ensure that each element makes a point. Thanks to close knit work with the client’s team and the ability to get regular feedback from the real golf players during the app concept and visual elements creation, we can be sure that each app element is intuitively clear for the end-users.

To start training, users first need to set up a swing they want to practice. This is a process of three steps:

  • Setting up a swing name
  • Club type selection
  • Ball flight selection

In order not to overload the screen with all this information, we created a wizard that is not only easy-to-navigate and helps to get more familiar with golf terminology.

Previously, game statistics were just long charts and looked unclear for users. We restructured the statistics screen into 3 tabs:

  • Lifetime
  • Training
  • Session

Users can choose any training or a session within the training and review how they are progressing. Initially, they see the overall training rate and feedback which was added to keep a high level of users’ motivation.

Then goes more tabs where they can find average results as well as more detailed feedback displayed in a form of scalable charts and organized into tabs to avoid cluttered screens.

In order not to overload the screen with all this information, we created a wizard that is not only easy-to-navigate and helps to get more familiar with golf terminology.


The Android app is written with Kotlin and interacts with the Bluetooth sensors developed by our client. Interaction with Bluetooth devices is performed with the help of the RxAndroidBle library.

The project is based on Firebase – a cloud solution.

One of the key features of the application is advanced statistics organized into different types of charts built up with the help of MPAndroidChart library.

GoogleAuth was used to also allow the users’ sign in with Google accounts.


The Result


At NPS questionnaire, the client evaluated our company at 10 out of 10.

It has been an absolute pleasure working with the team at Altamira. We have never been blocked or impeded by their work. They operate efficiently and quickly to get the job done.

Case Studies

Mobile App DevelopmentSocial Network
MarketplaceWeb Development
MarketplaceMobile App Development

Looking forward to your message!

  • Our experts will get back to you within 24h for free consultation.
  • All information provided is kept confidential and under NDA.