Inspiration
Healthcare delays can be the difference between life and death, between living a full life and suffering unnecessarily.We realized that early detection of diseases can significantly change the course of treatment and improve the quality of life. We wanted to combine the power of AI and healthcare to create a solution that is accessible, proactive, and personalized for every individual. Our inspiration came from witnessing the struggle that people (including my family member in Bangladesh) face in getting timely diagnoses, especially for diseases like diabetes.
What it does
It helps users get medical insights using advanced technologies like machine learning (ML) and artificial intelligence (AI) by providing two main features:
Disease Prediction System: Users can input their symptoms in natural language (the way they would talk to a doctor). The system uses Natural Language Processing (NLP) to convert these symptoms into a format that the machine can understand. It then runs this input through a machine learning model, which has been trained using a large dataset of diseases and symptoms, to predict the probability of the user having certain diseases. After providing these predictions, an AI assistant suggests possible remedies, advice to help the user take care of themselves.
Diabetic Retinopathy Detection: Users can upload an image of their retina (taken by an eye specialist or a medical device). The system analyzes this image using an ML model that has been trained on thousands of retina images to detect signs of Diabetic Retinopathy (a condition that affects people with diabetes). Based on this analysis, the system predicts whether the user shows any early signs of the disease.
How we built it
We built the project in two sections: the frontend and the backend.
Frontend: NextJS, TailwindCSS, and Flowbite to create a minimalist, interactive user experience.
The frontend communicates with the backend using REST APIs.
Backend: We divided the tasks into two parts:
1. API: We set up an API that handles multiple processes, including a voice-to-text feature for accessibility and Natural Language Processing (NLP) for symptom input. The system converts natural language inputs into machine-readable data, which is then analyzed by our trained machine learning (ML) model to provide probabilities for various diseases. After that, an AI assistant gives suggestions, remedies, and advice based on the results.
2. Machine Learning: We gathered datasets from Kaggle, performed data analysis and filtering, and trained our model using scikit-learn and TensorFlow. The trained model is integrated into the API.
- Diabetic Retinopathy detection System: We trained an ML model using retina images from Kaggle's diabetic retinopathy dataset. The system can analyze retina images submitted by users and predict whether there are signs of Diabetic Retinopathy.
Challenges we ran into
We’re fairly new to Machine Learning, and taking on this project was a fun and effective way for us to learn how to train models and get the best results—all during our very first hackathon. There were challenges along the way, like missing data or confusing error messages at 2AM that almost made us give up. It took a lot of time to connect everything (ML models, APIs, frontend), but in the end, we made it work, and it was a success!
Accomplishments that we're proud of
We tried our best to make the UI look as simple and straightforward as possible with a lot of abstractions. The end product is minimal and user-friendly and supports mobile devices as well. The results are mostly accurate and improve upon time. We are super proud that we could pull this off (two features) as a first-time hackathon contestant.
What we learned
We learned to train ML models, filter data, hook APIs and ML models together and build a minimalist frontend experience all within a time limit. We integrated a lot of technologies together here and how each works with other was a fun experience.
What's next for WhatTheHealth
What's Next for WhatTheHealth:
Backpropagation for Models: Implement backpropagable models to continuously refine predictions and improve performance with new data.
Early Detection for Alzheimer's: Add support for detecting early-stage Alzheimer's, helping patients get timely intervention.
Breast Cancer Detection: Incorporate machine learning models to identify breast cancer at its earliest stages.
More Accurate, Evolving Models: Develop models that learn and adapt over time, improving accuracy as more data is processed.
Login and Signup System: Create a secure login and signup system for doctors and patients to manage personalized health insights and consultations.
This will enhance the platform's capabilities, making it more versatile, accurate, and user-friendly for both medical professionals and patients.
Built With
- artificial-intelligence
- cnn
- css
- fastapi
- natural-language-processing
- nextjs
- python
- scikit-learn
- tensorflow
- typescript
Log in or sign up for Devpost to join the conversation.