Inspiration

Our main inspiration for this project was the current pandemic. When we discovered that the pandemic greatly affects those who have underlying diseases, we began thinking about how to notify those who have these diseases to prevent severe cases and deaths. Identifying the symptoms at the early stage of the disease can help prevent the spread and save countless lives. Our first goal to achieve this was identifying ways in which technology could be used to help recognize diseases. Our solution was to analyze photos and symptoms to propose a diagnosis for every user. Additionally, another source of inspiration was the shocking truth that 87% of our population is not aware of underlying eye disease. We thought that creating a free, accurate, and intuitive mobile phone app would bolster the health of people's eyes and skin by giving them a precise diagnosis. The final inspiration for our app was the ever-increasing cost of doctor appointments and the lack of hospitals in the world. Nearly 1 in every 2 global citizens are unable to either afford or even find hospitals in their vicinity. Creating a multipurpose tool that would diagnose a patient's condition in our age of technology would be a game-changer in the global picture.

What it does

Summary of Functions : This app has 5 main components to help meet our goals of identifying diseases and preventing the spread of them. Analyzing symptoms and photos of Skin diseases Analyzing symptoms and photos of Eye diseases Providing general health tips recommended by reputable sources Providing valuable information about doctors in the vicinity And finally creating a human-like chatbot that can communicate with users. In the app, the user may use the menu to navigate to the two surveys that are used to record symptoms of the user. When they complete either of the surveys, the app will then prompt them with an option to take a photo of their eye/hand to further evaluate any potential diseases the user may have based on the symptoms stated. The app will then display the probability of the user having an eye or skin disease. Not only does the app display the chance of a potential disease the user may have, but it also provides the user with the next steps and actions they can take to maintain or improve their health. This app is not only a disease detector but also is a general health notifier. When the user navigates to the general health tab, they can see emergency hotlines, local flu shots, covid-19 resources, and even more disease information. When the user navigates to the ‘Doctors Nearby’ tab they may see nearby hospitals and general practicing facilities. This app has one more key feature, a human-like chatbot that can communicate with the user and give medical advice based on research and information from Doctors around the world. When the user enters the application, they are prompted to create a login which would allow them to chat with professionals and save their results on the symptom surveys.

How we built it

We built the mobile application using Flutter, Firebase Firestore, OpenCV, Firebase ML Kit, and the Google Maps SDK. We used the Dart programming language in Flutter to program our front-end and user interface, and Firebase and Firestore for the back-end. The back-end consisted of user registration, disease recognition, and stored user data. We used the Firebase ML Kit and OpenCV to detect symptoms and analyzed the results to make the final disease probability most accurate. Additionally, we created a user survey that allowed for our users to input various other factors that could not be identified from a photo to improve the quality and accuracy of our diagnosis. We started the survey with basic questions but as the user input their answers, we refined the questions to match the diagnosis our algorithm thought the patient had. We used Firebase to create a chatbot that can respond to any questions or concerns the user may have regarding their diagnosis or treatment plans. We used the Google Maps SDK to create an interactive map for nearby hospitals, using a process known as geocoding to turn addresses into points that can be found on a map.

Challenges we ran into

While developing this application, our team ran into various challenges that briefly paused us from developing the application. Our biggest challenge was to make an accurate image recognition software that could accurately predict the possibility of having a disease. At first, the program had trouble finding the symptoms due to lighting and shadows but after troubleshooting and improving the input dataset, the AI had become powerful enough to accurately diagnose the patient. Another part of the project we had trouble with was creating a functioning human-like chatbot. We had to contact optometrists and dermatologists that we knew to understand their way of talking to patients and common responses they gave. It took us a lot of effort to create a system that was able to communicate(even partially) with humans. This aspect is one that we have not yet complete due to lack of time and one that we hope to complete in the future

Accomplishments that we're proud of

One major ability that our app has that we are proud of is its ability to accurately produce the probability of the user having an eye or skin disease. This particular accomplishment took a lot of effort since the filters we used were based on extensive research and the disease recognition software we used. Another functionality we are extremely proud of is our chatbot. We were able to recreate a chatbot that converses like a doctor and answers any questions the patient may have regarding their diognsis. Finally, we are proud of our simple user interface that makes it practical for all ages to use in any circumstance.

What we learned

We learned how to use geocoding to turn text addresses into coordinate points in Google Maps. We also learned how to integrate Firebase databases into Flutter and utilize ML Kit and OpenCV to create a chatbot and disease recognition software.

What's next for EyeDoc

Although Eyedoc is completely functional, we plan to make many introductions. We also plan to create a fully functional forum where students can post specific questions and threads can be created to discuss and respond to them. We would like to improve our machine learning algorithm to better identify pictures of the eye and skin. Another goal of ours is to provide more detailed reports on patients conditions and finally, we really want to improve our chatbot to allow our reach to be larger

Share this project:

Updates