The idea was done before, but we wanted to make the concept more approachable to the common user. Thus the idea of a web application that users can get a trivial analysis of their legions, as well as an accessible page for reaching medical doctors, is exciting and worth building. The medical field has also been a strong interest to us, so building an app for the greater good fits with our interests and goals.
What it does
Mercoma is a web application that allows a user to create an account and send photos of their skin lesions. The photo is then sent to the back-end server where it is analyzed by a TensorFlow model. The model identifies the likelihood that the lesion is cancerous. The photos are saved on the user's account and can be viewed on the photos page of the application. Furthermore, a user can browse a list of doctors they can contact to send information in the event that they need professional medical advice.
How we built it
The front-end is built with React as a single page application. The back-end is built with express.js, and passport is utilized for authentication. We chose MySQL for our database. The machine learning model is built using TensorFlow. The model is trained with various images of legions with a percentage of its likelihood of being cancerous.
Challenges we ran into
We ran into several challenges. The first challenge involved normalizing the data before training the model. The second challenge involved setting up authentication. We changed approaches entirely a few times as we were unsatisfied with the previous results. It took about 18 hours to complete a minimum viable version of it.
Accomplishments that we're proud of
Some of the accomplishments we are proud of include being able to implement the model in the back-end as well as getting the authentication going. We are also proud of the user interface of the application. It was built with a clean and simple approach in mind. The application is also mobile-responsive which is a big plus for the user.
What we learned
"Nothing is ever as it seems," said Julian. The challenges appear to be simple, but they can extend for a long time. "I got to learn and use some Bulma UI components so that was a plus," said Jerry.
What's next for Mercoma
We may expand the model to be able to take X-Ray and MRI images. We may also consider the possibility of building an iOS/Android native application so that users can more easily access their data. Lastly, we may also implement a doctor locator API so that users can find medical professionals near them.