Our team did a lot of work on our project since our last check in, across various areas of the project. We made progress in our app, mainly on adding stuff to improve the user experience: gamifying components that include, challenges, progress trackers, and some comparisons between users (i.e. competition with friends/club). We began working on incorporating an LLM to give specific feedback of player’s swings. We also improved our ML model to classify different levels of players. We also improved our hardware design a lot so now it won’t come off at all and we can start recording data with ball impacts, which we previously could not do because our device could come off if you swang the racket fast enough or just pulled it off. We worked on some microcontroller code to collect different windows (used to be time based) so that now it detects ball impacts.
Our biggest effort for the remainder of this project is to collect a ton of data and use it to train our models and improve our swing path visualization. We haven’t made any significant changes to our product or schedule.
We have no blockers apart from some rain in the forecast which prevents us from collecting data (if the courts are wet).
This week I spent time improving the 3d printed hardware design, previously it could come off if you swang the racket too fast. We didn’t test with actually hitting the ball because of this, we were afraid it could fall off. I made a new design that has a two part base that grips the racket better and screws together horizontally such that it doesn’t move around at all and shouldn’t fall off of the racket. I also resoldered all of the connections with solid core wire and much shorter wires. Previously our design had braided wires that were much flimsier and had poorer connections with the actual board, a few times they actually fell out and I needed to resolder them. I haven’t had that issue yet since the change, and I am hoping it doesn’t come up.
We are now in the final stages of the project, I will be working super hard with my team to get the final bits of work done. The main thing I will be working on is capturing data, as this is the biggest blocker for getting all of our work to show effectively.

This week I made some great progress on adding some new aspects to the app to help amplify the user experience. I added gamifying components that include, challenges, progress trackers, and ways to compare how you are doing compared to other users. I also incorporated an LLM that gives you feedback on specific aspects of your game. I also was able to incorporate a new aspect to the ML Model and now it can also classify differences in levels of players. This was mostly for proof of concept so that later on we can categorize players based on their UTR.
One thing that I need to continue to do is collect data of more swings, and different types. I also need to continue working on the swing visualization and add a couple of components to it.
Currently I do not have an blockers.
Since last status report, I have gotten more data for swing categorization and gotten feedback from professional tennis coaches to get better insights into what feedback we can give to players. I also worked on creating two different versions of micro controller code. One that activates data detection after a swing without contact with the ball and one that does with the ball, for live play. I have not worked much on visualization yet but I will finish off this last week by focusing on visualization, and continuing to get more swing data.
Progress was a bit more stalled this week. Final projects and presentations have staggered my ability to work this past week.
My goal for this coming week is to get visualization to be more accurate and collect more data for swing categorization.
Our team made strong progress this week in many aspects of the project. First, we improved the hardware design for the racket attachment. The new prototype is smaller and fits the key components better than the old version. We still need to make more progress on the PCB, so that’s one thing we are working on. Second, we made great progress on data collection and the ML pipeline. We collected a large amount of swing data from many players, improved the bluetooth flow to make collection more reliable, and built a model that can classify stroke types with high accuracy. We also continued working on swing visualization, and we still need to improve its accuracy. Third, we improved the app experience by adding an AI coach and a profile section that gives users summaries and feedback on their progress.
In order to mitigate risk 1, we will keep iterating on the hardware design so it fits well on the racket and does not negatively effect the user experience. We will also keep working on a final version of the PCB and overall attachment design.
In order to mitigate risk 2, we will continue collecting more data, improving the model, and testing the accuracy. This will help us incorporate more swing types and improve consistency across users.
In order to mitigate risk 3, we will keep working on the swing visualization and continue checking the reliability of our firmware, bluetooth transmission, and sensor data. We want the full system to stay stable during real use.
We also made progress outside the core prototype. We prepared for an upcoming pitch competition by working on the BOM, user guide, market research, unit economics, logo design, and presentation script. Overall, the team had a productive week and we do not have any large blockers right now, but our main focus next week will be final hardware design, better visualization, more data collection, and further improvement of the ML model and AI coach.
This week I was able to make a few good strides on the project. I was able to gather data with my team and then create an ML model that would classify stroke types correct >95% of the time. I also incorporated an AI coach that gives users feedback based on their focuses and their sessions. I also added a My Profile section to the app that gives the player summaries on what they have done and how they are improving.
There are a few things I was not able to get to such as more types of swings in classification.
There are currently no blockers.
My goal is to continue collecting data, improving the model, and improving the AI coach
Since the last status report I have made a new prototype for us that is much smaller than the previous version. Previously both of the dev boards were just hot glued to an attachment that stuck out from the bottom of the racket, both boards had header pins and wires connecting those. There was also no battery. In the new design each component (battery, IMU, microcontroller) has its own “compartment”. This took a lot of iteration to get all of the things to fit together well, and then even after I thought I had finished and I went to solder the boards together with wires and then it messed up the fit of the components in the 3d printed parts so I had to iterate further, The current design also has wires that are longer than necessary, I did this as an intermediate step so that if/when I need to iterate I don’t need to fully get new wires I can just trim the current ones and re solder them. I have already learned some ways I can make the design better and I should have a final version by the design presentation on Monday.
I also spent a ton of time this week working on our project as a startup, we have submitted to two pitch competitions and will be presenting on Wednesday at one of them. I have done stuff like making a final BOM and calculating all the parts in that down to the material and printing cost of the user guide that would be placed in the box the product comes in. I also looked at unit economics, did lots of market research, logo design work, and tons of work on the script for the competition.
I am behind on the PCB design which is bad, I wish I had that more under way and ready for fab. I am going to try and make that happen by the design presentation, but I have a lot on my plate preparing for the competition on Wednesday, so I am not sure I will be able to finish it. I do want it done by the time the final poster board demo happens though.
I have really been enjoying the project this week, we have met up every day for at least a few hours to work which has been great.
In the next week my main focus will be preparing for the competition, and working on final hardware design.
old design:

new design:
there is a video that makes the new design much clearer but I can’t upload a video here. I showed it in person to Qing during our mtg on Monday
Since last status report, I have updated our microcontroller firmware to be as consistent and robust as possible. I moved bluetooth transmission to after IMU sampling in order to keep the data collection as in tact as possible despite bluetooth blips. I also finished a script for cleanly collecting swing data and have spent several hours collecting hundreds of swings from at least a dozen players. I have worked on the visualization of the tennis swing as well and that will continue to be a focus this week.
Progress was good this week. I do not have any significant blockers this week.
My goal for this coming week is to get visualization to be more accurate, collect more data for swing categorization, and get feedback from tennis coaches to get better insights into future work.
Our team is making steady progress on all fronts with regards to calibration testing of the IMU, the design to hold the IMU, and visualization of data. Our biggest priority now is data collection for fine tuning a model that will categorize different swings. This will allow us to make large strides in our project.
To accomplish this goal properly we need to both collect enough data and collect data from a variety of player levels. Once this is done we will be able to then fine tune the model and test its accuracy.
After this is complete we will also be testing the device during a proper session to see how it holds up and making sure the data for sessions is being organized and displayed properly.