The idea for this app came from our idea to make a project using machine learning that could do good for the world. We wanted to genuinely help others in the world. Considering the leading cause of death is heart disease, we decided to make something that could help people know if they were at risk.
What it does
This app uses various services to detect how susceptible a person is to experiencing a heart attack. Using everything from machine learning to a custom MySQL server to user interaction, the app delivers an intuitive experience to all it's users.
How We built it
We debated between using either a TensorFlow model or an AWS model for the machine learning aspect of our application. After coding on both platforms, we decided it would be more scalable to host the entire service online. For this reason, we chose to deploy our model using the AWS services. This also means that as our app progresses, we can implement more features into it.
We then created our own MySQL server from scratch that stored all the inputted data from the android application onto a host server. That data is accessed through an automated process using a python script and converts it into a .csv file. This data is then transferred to the AWS model to create a logistic regression of our data. This pattern is used to make future predictions that will be sent back to the user application.
As for the actual application itself, we used Adobe XD to design a user interface for the application and exported it to Android Studio where we implented the required code and back-end services. These services send the stored data to the MySQL server where the machine learning algorithm comes into play.
Challenges we ran into
None of us have ever used machine learned before so that was an entirely new experience for us. It was very difficult to understand what we had to do at first and how to implement the code to do what we needed. Using AWS was very difficult and we struggled with getting our own data onto the algorithims. Eventually we decided to automate this we would create our own MySQL server and write a python script to update the directory with the AWS Sagemaker algorithim. Learnign MySQL was another difficult task as none of us had ever tried to make a server on it before. With some help from mentors we found we manged to get it working and were able to access it from other devices.
Accomplishments that we're proud of
We were extremely proud of getting the server working for MySQL as that was an extremely difficult task for us to do. It was very gratifying to see the data updating when we put inputs onto a seperate device. Another accomplishment that we all were very proud of was being able to create a function app on android. This was the first time many of us have ever worked on creating a phone application and seeing something you made work on your own phone was a great experience. StarteHacks gave us al an amazing oppurtunity to learn many things about different programming languages. All of which were necessary for us to complete specific tasks we needed. Seeing so many application work in unison was truly an amazing and enlightening experience that really showed us the amount of effort that goes into making our every day apps.
What we learned
The biggest thing we learned was about the use cases of machine learning algorithims and the implementations of them with different data sets. This is an extremely useful skill to us as A.I is the future of tech and machine learning is the first step towards that fronteir. Learning about how it works and what to use it for will be a great experience for us as it will help guide us towards more oppurtunities in the future.
Understanding how to use MySQL and being able to make our own database was another very cool thing we all learned about today. There was a lot of issues we had with it and we spent a lot of time debugging various errors, but all this struggle helped lead us towards a much better understandning of how it all works. This skill is extremely useful in the workforce as most major companies use similar programs to create databases of information.