Despite the amazing therapeutic potential of neurofeedback, accessibility is heavily limited. Neurofeedback programs are expensive and often require patients to go to a facility with specialized equipment. Our project began with the simple goal of making neurofeedback more convenient in conjunction with a newly increased availability of loanable EEG devices. We began by designing a web application that would cater to the needs of both patients and providers. Using Figma, we designed the general layout of the various pages that would be used in the application and chose the colour palette that would be used. The UI structure of the web application was created using React, styled with Material-UI, and animated with Framer Motion. Neurofeedback exercises were visualized using the Phaser game framework, and ApexCharts. The server infrastructure was developed using Express, a Node.js web framework, which we used to create a JSON web token-based authentication system, and the required API endpoints for the application’s functionality (connecting patient and clinician accounts, storing neurofeedback session data, etc.) All patient and clinician-specific data were saved to a local MongoDB database. The endpoints were created to interact with this database using Mongoose, which allows easy modelling of the data we needed to store. We wrote browser-based EEG analysis and synthetic data generation methods (as we did not have access to BCI hardware) using standard libraries in the Python scientific computing toolkit, which were run client-side to interface with the website using Pyodide (a Python to WebAssembly compiler).

Built With

Share this project:

Updates