Inspiration

We started by looking at each of the UN sustainable development goals one by one, brainstorming problems and solutions for each one. After looking through all 17, we decided to look for statistics for each goal, realizing that for SDG 3, Good Health and Wellbeing 3.5 billion people globally don't have access to healthcare services. Combined with our coding and AI skills, we created MedAI, a free, personal, AI doctor.

What it does

MedAI’s main purpose is to help with diagnosing a disease. Many people can’t afford to go to a doctor for a checkup, and MedAI can indicate if a condition needs a medical condition or will pass in time. It serves as a knowledgeable input on the user's conditions, making it useful for both common people and smaller hospitals as well. Additionally, its image capability makes it unique from other diagnosing tools. Just give an image of a skin, eye, lip, foot, or throat condition to receive information on the illness and treatments. Overall, MedAI is a free, easy-to-use, advisor for your medical needs, providing diagnoses and treatment suggestions with both image and text input.

How we built it

The first step to building MedAI was to get two artificial intelligence models, one for text-based inputs and one for image inputs. We used the Python Pandas library for data formatting and the TensorFlow and Scikit-learn libraries for generating and training models along with a few other dependencies. We tested out multiple different types of models built for multiple-categorical classification, the model type needed to analyze many different diseases. We settled on a Naive-Bayes Classification model coupled with a text-vectorizer in order to analyze a variable amount of given info to return accurate predictions. For the images, we used a zero-shot model, which is trained on multiple dermatological and physical conditions. To format the output of the models and display treatment to the user, we use a modified version of Chat-GPT-4.0 mini integrated with our website. We host these models on Flask, a Python web-hosting library, which is all put on the cloud with AWS EC2.

Challenges we ran into

A huge challenge in development was settling and training different models, especially for the text. For the text-based analysis, we tested Decision Tree, Random Forest, Gradient Boosted, and Sequential Neural Network models, each with multiple different architectures. The total training time for all of these failed models was over 100 hours. Another huge challenge was getting data. Some datasets were incomplete, biased, random, or too sparse. We finally settled on a 700,000k item database, which still isn't perfect. For image generation, we noticed that our zero-shot model was struggling with different parts of the body, an issue we decided to fix by having two layers of the model one to identify body parts and one to identify ailments. Additionally, hosting the models on an accessible link was tough, with frequent memory, API, and latency issues.

Accomplishments that we're proud of

Though the road had many challenges, we can look back with pride in our work. MedAI has two very accurate AI models which we developed as newbies in the AI space. Our Naive-Bayes model has an 85% of accurately describing the disease as its top three predictions. Our zero-shot model has an almost 93% accuracy in describing the given image. We also created a working website from scratch that has a huge societal impact—not bad for four high schoolers!

What we learned

Developing AI models has been a whole new experience for us. Compared to traditional coding, developing AI takes much trial and error and huge waits while a model trains. Discovering the world of Artificial intelligence has been a tough but fun journey, with many interesting discoveries. Whether we win or not, we have learned invaluable skills in developing AI, skills that will be essential in our future. Additionally, we learned about frontend and hosting skills which add more skills to our engineering repertoire.

What's next for MedAI

MedAI is far from perfect. Our models can get even more training with larger datasets. We plan to combine some datasets with much more filtering to train a more accurate model. Additionally, we plan to add functionality of on-call doctors and connect the user to further help those in need. Our team doesn’t plan to drop this project and we will keep developing it to help people around the world.

Built With

Share this project:

Updates