Inspiration

PathoGenie's mission is to help people better understand their physical well-being by giving them access to more significant and longer-term information about their potential ailments.

What it does

PathoGenie is an iOS app that allows users to input their illness-related symptoms and receive a prediction backed by machine learning models. It saves the user's data to a database on their account and lets them view their previous predictions. This allows the users to make educated guesses on a long-term scale.

How we built it

This Swift-based iOS platform is backed by natural language processing, taking unrestricted user input, embedding the language, and outputting a prediction using a machine learning model. It utilizes a personal database using Firebase to authenticate and store user data. To communicate our app and the MLM, we used FastAPI to send over data to be processed between both endpoints.

Challenges we ran into

Our team had little to no experience with data science, specifically in ML models / word embedding. Therefore, creating and integrating unrestricted user data alongside machine learning techniques was the team's greatest challenge. Another challenge we faced was the difference in library dependencies and coding styles between each of the members. This led to major issues when we were combining our respective parts of the code into one cohesive application. The final challenge we are currently facing is that we must continue to refine these techniques within our skillsets and our ability to produce a product that each member can take pride in.

Accomplishments that we're proud of

In the scope of a weekend, our team's collaborative efforts to combine each individual's unique set of strengths molded PathoGenie from concepts of a plan to the initial stages of a ground-breaking company. The specific accomplishments we are most proud to showcase are our determinism and drive to solidify our vision as a completed application by the final deadline and the new, real-world applicable skills that we honed over the course of the weekend timeframe.

What we learned

This hackathon, for us, was highly effective in providing skills in new and captivating technologies. We all tried to branch off and develop complex applications that we had never considered possible. Additionally, we gained valuable experience working as a group, collaborating on our ideas, identifying strengths and weaknesses, and delegating tasks. Tony and Lane were tasked with developing the iOS app, where Lane (as an electrical engineer) learned how to create the front end of a complete iOS app from scratch. He went from developing the UI on paper to developing the software. Tony worked on the back end, learning to connect the database to FastAPI and collect the data back to the app. Additionally, he implemented all of the authentication and Firebase backend functions. Gregor was tasked with creating the machine learning classifier model that would predict the user's illness based on their given inputs. He started by cleaning up a database that was found online which contained various types of diseases and their common symptoms. Then, he transformed these symptoms and diseases, using both one-hot and multi-hot encodings, so that he could train the machine learning model with the database's information. Lastly, he created the Fast API so that the custom-made word embedding algorithm, machine learning classifier model, and iOS app could communicate with each other. Jenasis was tasked with creating a custom word embedding model to take user inputs and output the most relevant matching symptoms in our database. Jenasis first preprocessed the user input and lemmatized the words to reduce variation. She used WordNet synonyms, sentence transformer embeddings, Levenshtein edit distance, and jaccard similarity and created a penalization function to produce a similarity score for more accurate symptom matching. Jenasis used TF-IDF and SVD to generate embeddings for each unique symptom in the dataset. She built a function to utilize exact word-match lookup, fuzzy matching, WordNet synonyms, or cosine similarity of the word embeddings based on need to generate the closest symptom in our dataset given the user input.

What's next for PathoGenie

We could not match our ambition for the project as we hoped to implement generative AI responses to help the user understand their symptoms and compute an array of predictions with their respective confidence percentages. Additionally, we hoped to be able to generate files including user symptoms and predictions for medical uses outside the app. We hope to do as much good as possible and benefit the health of those on our planet. We hope to bring in the future of collective community independence in a wide array of illnesses-related industries by scaling and improving the technical backgrounds of the platform while maintaining an extreme level of accessibility for users of any background.

Built With

Share this project:

Updates