Case Study

Sports Training simulation for Coresports

Developing a sports based instructional simulation using Raspberry Pi, Python & Flutter

About the client

CoreSports is a startup based out of Colorado that is focused on using technology to promote sports training to kids and young adults. They focus on utilizing technology to blend repetitious fundamental training with digital gaming to create a unique experience.

The Problem

The vision of CoreSports is to utilize technology to the maximum to impart professional coaching to young adults and kids in various sports, while making it easily accessible and on-demand. They already had an offline soccer coaching program which they wanted to simulate in a gamified sports training program that would teach the intricacies of the soccer and be fun to play. The client had found us through Clutch and was impressed by our portfolio as well as the reviews that our clients had left behind. We received an email shortly after.

The requirement of the client was to be built for mall kiosks and also had to be supported by a website and a mobile app version of the game as well. All of these things were to be built from scratch and the design and development of it all was our responsibility. After a lot of information exchange and back and forth calls, the engagement was of Time & Material nature for both the design and development phase. With 3-5 weeks dedicated to design and 10-11 weeks for development, the project was ready to go.

Requirements

The project demanded the following requirements:

A gamified soccer simulator for mall kiosks.
An equivalent mobile app and a web app for the client with complete UI/UX design.
Migration of website and database from Raspberry Pi to Web.

Team On-Call

With the timeline of the project, it was wise to assign focused developers for each and every aspect of the project to enhance the overall development time as well as quality of the product. In pursuit of this, a developer with expertise in both Flutter and Python was deployed for the game and mobile app while a React + Wordpress dev was given the task to build the website, all under the tutelage of a Technical Lead/Project Manager. On the design front, one designer was employed to chalk down both UI & UX of the application under the guidance of the design head at GeekyAnts.

The Development Phase

From a technical perspective, the requirement of the client could be perceived as a complete system to monitor and simulate soccer training in the form of a digital game. In the existing product, user accounts and related features were handled by the official website that was developed in Wordpress. The actual game simulation was controlled by Raspberry Pi 4.

As it was a medium sized project, spanning over a course of almost 20 weeks, the development milestones were rather straightforward. The Raspberry Pi module needed a complimenting module in Python, an android version of the game was also to be developed with a supporting app and upgrade the website to a new technology and showcase the newest additions.

Based on the requirements, Flutter was the obvious choice for the mobile app, since the controller of the existing game was built in Python and the two technologies sit well together. For the website, JavaScript and Wordpress was used to enhance the existing experience with Firebase serving as the backend hosting service and JQuery for DOM traversal and manipulation.

As dictated by the engagement model, the initial 3-5 weeks were dedicated to designing. The designers toiled hard at creating a smooth UI and intelligent user flows for the application a well as the simulation. Post that, the website was brought under the spotlight and was designed from scratch.

Post designing, the first thing that was tackled was the game itself. A total of 11-15 weeks were established for the complete development process, which got delayed due to some new implementations that were unforeseen. The entire development was covered in a single phase, spanning over the complete duration.

 

In the previous build, the connectivity between the program and the controller was established using WiFi. To leverage the gaming pod setup in kiosks, we shifted the connectivity source to Bluetooth. To make that happen, a Flutter Package was developed from scratch that would enable Bluetooth pairing and connectivity between the Raspberry Pi Python module and the Flutter app. Some work was also done on improving the Raspberry Pi module for the said connectivity.

The Flutter app for android was developed to connect to Firebase DB for leadboards and setup controls. This, in turn, was used to control the RPi module in the simulation.

 

In parallel, one developer was focused on building the perfect website that would compliment the entire program. For the website, Wordpress was incorporated in the overall structure to add Sign-In and Profile Management features, which could be accessible from anywhere. Custom written JS scripts were also added to the Wordpress pages in order to connect to Firebase for user management and leaderboard data access.

Through the entire process, the client was kept in a constant loop of communication with daily calls, weekly sprints and was kept up-to-date on every detail of the project and its progress.

In bird's eye view,

  • Versioning for this project was done using the Git Repository
  • Git was used for source code management and Trello for task management.
  • All communication was done through Slack, Email & Google Meet.

 

 

Alongside development, the product was put through multiple levels of rigorous manual testing to reinstate confidence in every function of the deliverables and sort out bugs that needed to be fixed. The client was kept in the loop through every stage. The deliverables were put through a developer level test round and were also put through an intense User Acceptance Testing phase where the end-user tested the product upto satisfaction and reported any discrepancies, if found which were fixed in the following updates.

Overcoming Challenges

Challenges are always an important part of successful projects. In this particular project, however, the challenges came from the most unexpected sources. The overall idea behind creating a new design was to create one that would promote minimal interaction. Due to the COVID outbreak, the push was more towards building a 'contact-less' design, so showcasing every crucial information with minimal physical interaction with the screen was a challenge. The team came up with the genius idea of using a slider to allow the users to slide through all the information without making multiple touches.

 

Final Impressions

Coresports was scheduled for a full blown launch last year but got delayed due to the COVID pandemic. All in all, the client has been extremely satisfied with his experience with us. He was very happy about the leadership and the skills that the team showcased in the project and the ability of the team to own up and take responsibility for mistakes that occurred through the course of the project. The project did get delayed a little from the original plan but the end product bore quality that was beyond expectations. We have always strived to provide the best quality services and this is yet another example of us doing exactly that. We're looking forward to any and every future engagement with our client.

 

Asset Management Dashboard

Developing an Asset Management Dashboard for a Fortune 500 company

The @ Company

The @ Company has committed itself towards the creation of a more 'human' internet by enabling users to access the goodness of the internet, without sacrificing their privacy online.

2020 © All rights reserved. GeekyAnts India Pvt Ltd.