Inspiration:
My inspiration stemmed from the growing need for accessible, personalized healthcare information. We recognized that individuals often face challenges in quickly understanding their symptoms and finding reliable guidance. The goal was to empower users to take proactive steps towards their well-being, bridging the gap between symptoms and actionable health insights.
What it does
MediGuide is a personalized medical recommendation system that leverages machine learning to predict potential diseases based on user-input symptoms. Beyond diagnosis, it provides tailored recommendations for the top 5 relevant medicines, prescriptions, and customized workout routines. It features a user-friendly Flask web application and integrates speech recognition for convenient symptom input.
How we built it:
I built MediGuide using:
Python for the backend logic and machine learning.
Flask to create the web application and handle routes.
Pandas and NumPy for data loading, manipulation, and numerical operations.
Scikit-learn to train and utilize the SVC (Support Vector Classifier) model for disease prediction.
HTML for structuring the web pages.
Tailwind CSS for a modern, responsive, and aesthetically pleasing user interface.
Bootstrap for the modal (popup) components.
The machine learning model was trained on a comprehensive dataset of symptoms and corresponding diseases.
Challenges I ran into:
Data Preprocessing: Cleaning and structuring the diverse symptom and disease datasets for effective machine learning model training.
Model Integration: Ensuring seamless communication between the Flask backend and the pickled Scikit-learn model.
Frontend-Backend Data Flow: Accurately passing complex data structures (like lists of precautions or workouts) from Flask to Jinja2 templates and rendering them correctly.
Speech Recognition Implementation: Handling browser compatibility and user permissions for the Web Speech API, as well as accurately transcribing varied symptom inputs.
Maintaining Consistency: Adapting the existing Bootstrap modal components to seamlessly blend with the new Tailwind CSS theme.
Accomplishments:
Successfully developing an end-to-end web application that integrates machine learning for practical use.
Implementing a personalized recommendation system that goes beyond simple diagnosis to offer actionable health advice.
Creating a clean, intuitive, and responsive user interface with Tailwind CSS.
Integrating a functional speech recognition feature, enhancing accessibility and user convenience.
Ensuring the system is designed with a focus on user privacy and the potential for continuous improvement.
What I learned:
We gained significant experience in:
Full-stack web development with Flask.
Deploying and integrating machine learning models into web applications.
Advanced data handling and transformation with Pandas for web display.
Responsive web design principles using modern CSS frameworks like Tailwind CSS.
Working with browser-specific APIs (Web Speech API) and handling user permissions.
The importance of clear data flow and error handling between backend and frontend.
What's next for MediGuide: Your Personalized Medical Recommendation System
Expand Disease and Symptom Database: Continuously update and grow the dataset to improve prediction accuracy and cover a wider range of conditions.
Integrate User Feedback Loop: Implement a system for users to provide feedback on recommendations, further refining the model over time.
Advanced ML Models: Explore more sophisticated machine learning or deep learning models for even higher accuracy and nuanced predictions.
User Authentication and Profiles: Allow users to create accounts, save their symptom history, and track their health journey.
Mobile Application Development: Develop native mobile apps for iOS and Android to enhance accessibility.
Integration with Wearable Devices: Explore connecting with health data from smartwatches or fitness trackers for more comprehensive insights.
Multilingual Support: Add support for multiple languages to reach a broader audience.
Built With
- bootstrap
- bootstrap-(for-modals)-libraries:-pandas
- html
- javascript
- javascript-frameworks:-flask
- jinja
- numpy
- pandas
- python
- scikit-learn
- tailwind-css
- tailwindcss
Log in or sign up for Devpost to join the conversation.