Inspiration 🌟

We wanted to create an application that aims to streamline cognitive care for Alzheimer's patients as much as possible, aiding doctors in assessing the severity of one's condition, and take the proper treatment accordingly.

What it does 📠

Users can pick from various cognitive memory enhancement games on the home page to practice and improve at daily challenges. These serve to stimulate a patient's cognitive ability in various aspects of their brain. The app keeps track of a patient's scores, allowing Doctor's to be able to observe the trends in how strong their memory and cognitive function is overtime. Aside from the memory games, a second page creates a risk score for Alzheimer's based on the demographics of a person --such as age, geographic location, gender, race, medical history, etc. This allows doctor's to be able to pre-emptively see how severe a new patient's disease may be in the long term and take the appropriate efforts to treat the patient as soon as possible.

How we built it

We utilized Postgres, React Native, and Flask stack to implement our full-stack application onto our mobile devices. Through this stack development process, we utilized React Native for front-end components and user interface, Python/TensorFlow for creating the machine learning algorithm, and the Flask framework to make the server-side backend RESTful APIs.

-Backend Machine Learning Model: We preprocessed the data so that in the data frame given to us by NTICe, it only accounted for patients who have had Alzheimer's in the past (code starting with 'G30..") and got rid of the other patient data. We utilized Python along with machine learning libraries like TensorFlow and ScikitLearn to create an artificial neural model that predicts the risk level (Low, Moderate, or High) of a user on the app, based on inputted demographic data such as gender, race, and age. Each hidden layer consisted of a Dense() layer from the Keras library that utilized the ReLu activation function, producing a result of just over 70% model accuracy after training and testing multiple data sets.

Backend Flask API - Integrated the Flask framework to make API closing points from the front-end client side in order to incorporate functionality. We implemented it so that React Native makes an HTTP request to the local server that the Flask developer site is running on in order to calculate the prediction risk score. We are also utilizing the API to create requests to a postgresSQL server, which serves to hold a user's scores for the different games that they play.

Frontend React Native - Designed mini-memory games that test the cognitive ability of a user and determine a cumulative score to informally test for Alzheimer's. Have various components like buttons, landing pages, clickable objects, etc.. Some of these mini-games include a matching card game or a reaction-time test on how fast you can "pop" all the randomly moving bubbles.

Challenges we ran into

Some challenges we ran into were connecting the frontend and the backend with the flask apis. In addition, there were issues while trying to train the machine learning model.

Accomplishments that we're proud of

Accomplishments we are proud of are a 70 percent success rate for our machine learning model. Given the amount of time we had to implement this application, this is a very modest success rate, and with more time and data to train the model, we can achieve even greater accuracy. In addition, we are happy with the UI we were able to create, showing off a clean and responsive interface.

What's next for BrightBridge

We are looking to increase the detail of the data we record, allowing for even more games that target different parts of the brain. We are also looking to add exportation of user score data for doctors to be able manipulate and analyze, giving greater insights into the severity of a patient disease.

Share this project:

Updates