Developing a sports based instructional simulation using Raspberry Pi, Python & Flutter
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 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.
The project demanded the following requirements:
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.
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.
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.
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.
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.
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.