top of page

Week 9 – Testing, Progress, and Competitions Week! 🥊

Updated: Apr 14

This week’s lectures focused on the fundamentals of software testing, covering essential concepts such as testing, verification, validation, and debugging. We explored different types of software tests, including:

  • Unit Testing – Testing individual components for functionality.

  • Integration Testing – Checking how different modules interact.

  • Functional Testing – Verifying if the software meets specified requirements.

  • Regression Testing – Ensuring new code changes do not disrupt existing features.

  • System Testing – Evaluating the complete system’s behavior.

  • Acceptance & Installation Testing – Assessing software usability before deployment.

  • Top-Down vs. Bottom-Up Integration Testing – Different approaches to integrating and verifying software modules.

For my iCue project, I plan to implement unit tests for individual app components, integration tests for Firebase communication, and functional testing to ensure smooth user interaction with the app's dashboard and chatbot.

Testing Hardware and Firebase Integration

Beyond software testing, this week I conducted tests to verify the hardware's ability to send data to Firebase. This was crucial for ensuring that the MPU-6050 sensor and ESP32 module accurately capture cue stick movement and transmit shot data to the cloud. This involved:

  • Sensor Calibration: Checking the accuracy of the ESP32 and MPU-6050 sensor readings.

  • Data Transmission: Verifying that the shot data is correctly logged in the Firebase database.

  • Dashboard Integration: Testing if the collected data could be retrieved and visualized within the app’s dashboard.

The tests were successful, confirming that the system is capable of logging and storing shot data for future analysis. Moreover, I performed Regression testing while fixing the buffer error to ensure that the other code was not affected by this change and the test was successful!

Advancing iCue: Data Collection and App Development

As part of refining iCue, I conducted real-world data collection by visiting the billiards room to capture shot data. By recording my own shots and those of my peers, I built a diverse dataset for analysis. Plotting the data revealed structured patterns, reinforcing the reliability of my approach.

ree

On the development side, I made significant strides:

  • Dashboard Implementation – Designed to display plotted shot data retrieved from the Firebase real-time database.

  • Chatbot Integration – Introduced a chatbot to provide personalized training recommendations based on recorded shots.

  • Firestore Database – Introduced a Firestore database that stores the most recent shot in the real-time database to the user's document for further analysis.

  • Firebase Authentication – Enabled Firebase Authentication that allows only the authenticated users to access the features of the app and memory storage.

  • Profile Page and Information Section – Still placeholders due to competition commitments, but planned for next week’s development.



Additionally, Dr. Judhi, during our meeting, provided feedback on integrating shot feedback directly into the dashboard, which I plan to refine in the coming weeks. Moreover, the chatbot was not responding as expected, which I plan on fixing as well along with the UI.

From Machine Learning Misfires to API Magic

Earlier in the project, I started working on my own machine learning model to analyze shot data using Python and Random Forest algorithms. I extracted data from Firebase, cleaned it, and created structured arrays based on the sensor readings from the ESP32 and MPU-6050.

However, despite all the effort, the model only achieved around 50% accuracy. The biggest challenge? A very small dataset. I had only eight real-world shots to work with, which made it impossible for the model to generalize well. The analysis revealed that a much larger dataset (ideally 100+ participants with at least 15 to 20 shots each) would be needed to make the model viable.


Realizing the limitations, I pivoted toward a smarter approach: using a hybrid GPT-based model. This system now analyzes shot stability in real-time by computing a “fluctuation score” from the sensor data and combining it with quiz inputs to form a detailed prompt. GPT then generates personalized, coach-style feedback for the player.

The result? Much more accurate and intuitive recommendations, with an estimated accuracy of 90% based on user feedback. This switch from a traditional ML model to an LLM-based method was a turning point in the project—and one that made the iCue experience far more intelligent and human-like.

Competition Achievements and Insights

This week also marked an exciting phase in my competition journey, where I participated in multiple prestigious competitions:

  • MADA Marketing Competition Finals – My team reached the finals, offering valuable insights into branding, market positioning, and strategic outreach. This experience of market research will be instrumental in shaping iCue’s future launch strategy.

  • TAFU-BCS Award Submission – Alongside my team (Afrin, Anushka, and I), we submitted our research project, RoboBees, which focuses on using robotics for bee conservation and enhanced pollination techniques. The submission process helped refine our research methodology.

  • Abu Dhabi Research Competition Submission – I officially submitted iCue under the Innovation Category, aiming to establish it as a market-ready product. My preparation involved refining the pitch deck, validating research components, and structuring the business feasibility aspects of iCue. My team also submitted RoboBees under the Research Category for the competition.

  • Emirates Robotics Competition: Our team had made it to the finals and this week marked our trials before the competition. Applying months of robotics development and problem-solving experience. The competition pushed us to refine our approach to designing and optimizing autonomous systems.



Looking Ahead

This week’s progress has been a significant step forward, bringing iCue closer to being a polished and market-ready training tool for billiards players.

With successful testing and competition experiences shaping the development of iCue, my next steps involve:

  • Implementing real-time shot feedback within the dashboard.

  • Completing the profile and information pages to enhance user experience.

  • Further refining the chatbot for more advanced training recommendations.

The blend of rigorous testing, hands-on data collection, and competition participation this week has provided invaluable experience, further motivating me to refine iCue into a fully functional and marketable product.

Below are the submissions for the competitions if you want to have a look :)


Comments


bottom of page