Inspiration
Our inspiration for developing this offline diagnostic chatbot stemmed from the need for accessible, private, and efficient healthcare assistance, especially in areas with limited internet connectivity. We wanted to create a solution that ensures maximum privacy and security while providing accurate disease precautions without relying on an internet connection.
What it does
Our app enables users to input a disease name, after which the AI suggests symptoms of the most probable illnesses. The user then selects the symptoms they are experiencing, and the AI refines its diagnosis, ultimately providing preventive measures for the most relevant disease. This multi-step verification process ensures accuracy while maintaining an entirely offline functionality.
How we built it
We developed the front end using Flutter with an MVVM architecture, while our backend is powered by Python and FastAPI. To process user inputs effectively, we built a vector database containing illness descriptions for embeddings and a separate file database for second-step verification. We employed k-Means clustering, cosine similarity, and custom algorithms to refine results, ensuring accurate and meaningful AI-driven results. The entire workflow is supported by API endpoints for seamless data exchange.
Challenges we ran into
One of the key challenges we faced was creating an efficient vector database from our data, as well as handling complex data manipulation to retrieve and return responses in an organized manner. Additionally, designing a well structured architecture and building API services for communication between the front end and back end required planning and iteration to ensure smooth operation.
Accomplishments that we're proud of
We successfully built an AI-powered diagnostic system that functions entirely offline, ensuring privacy, security, and accessibility. Our ability to implement a multi-step verification process using advanced embeddings, clustering techniques, and custom algorithms is a significant achievement. Overcoming architectural and data-related challenges allowed us to create a high-performing solution.
What we learned
Throughout this project, we gained great insights into AI optimization for low-resource environments, vector database construction, and effective API structuring. We also refined our knowledge of data embeddings, clustering techniques, and the importance of designing a scalable and maintainable architecture.
What's next for Survivor AI
Moving forward, we plan to expand our database to cover a wider range of diseases and enhance the AI’s precision with more sophisticated machine learning models. Additionally, we aim to improve the user experience by refining our UI/UX and optimizing system performance. Future iterations may also include integrating support for multiple languages and extending the app’s capabilities to provide personalized health recommendations.
Built With
- chroma
- dart
- disease-symptom-prediction-database-kaggle
- fastapi
- flutter
- google-fonts
- mvvm
- pandas
- pydantic
- python
- uvicorn
Log in or sign up for Devpost to join the conversation.