Inspiration

As many parents want to find the best coaching for their children in terms of athletics, we wanted to help. This is because we personally experienced our parents doing this too to some extent. Therefore, to put parents' minds to rest, we wanted something similar to RateMyProf that helps students find professors that have a specific advantageous teaching style.

What it does

It ranks coaches based on the review posted by users. We pipe that review into a sentiment analysis model we trained to create a fair score. Of course, this is in tangent to regular quantitative analysis to make ratings accurate.

How we built it

We initially built our application using Android Studio through languages like Java and XML. For user authentication and data storage (coaches statistics, user-generated reviews, and scores), we choose the cloud through Google’s Firebase. Additionally, our deep learning model was written in python and our graphs were written in Java using JFrame.

Challenges we ran into

None of us had worked with Android before, but because everyone was proficient in Java, we still chose Android development. However, it turned out to be extremely challenging as we were trying to save the reviews made by the user in a file, which was to be passed onto python. However, within the app, accessing that file was unsupported as Android did not allow direct interaction with other languages. We even considered sending it to the Firebase storage and then having the Python file retrieve it, but decided that using Flutter/Dart would be much more efficient.

Accomplishments that we're proud of

We were able to successfully finish the login and signup functionality. Additionally, once the user logs in, they can see a list of coaches with their fair ratings. Finally, we were able to get our application to retrieve and add new reviews for a coach, meaning real-time rating updates.

What we learned

We learned how to build android apps and also how to train a python machine learning model for qualitative analysis. Additionally, we learned how to pass the data from our android client to a remote server through a network call (to Firebase) so that we could authenticate users and store data (Firebase spoilt us in this stepping being so easy to take care of everything). Most importantly, we gained real-world experience in CS and learned how to work and collaborate in a team environment.

What's next for Coaches' Loop

While this app is refined in terms of design and primary function, there is still lots of room to grow. This is especially true with the ML models behind the qualitative analysis as we are currently at about 70% accuracy. This is something we must improve as false ratings can jeopardize the number of students a coach gets. Additionally, due to a lack of time, we were unable to optimize the app for performance. So while everything works great for the end-user, there are a lot of memory and CPU efficiencies that can be performed under the hood.

Built With

Share this project:

Updates