This Flask-based medical diagnostic application uses natural language processing (NLP) to analyze symptoms and predict possible diseases. It integrates datasets for symptom descriptions, severity, and precautionary measures. The app processes user input through syntactic and semantic similarity functions to match symptoms, using techniques like Jaccard similarity and word sense disambiguation (WSD). The system suggests possible diseases and provides advice on consulting a doctor based on symptom severity. Users interact with the app through a series of questions to identify and refine symptoms, resulting in personalized health guidance and potential diagnosis predictions.