banner

An easy-to-use platform for EEG experimentation in the classroom

## Features - Design, run, and analyze an experiment using real EEG data all in one desktop app - Investigate visual event-related brain waves (ERPs) - Supports Emotiv Epoc+ and Muse devices ## Screenshots

## Prerequisites - **Node.js** >= 18 - **npm** >= 9 - No Python installation required — EEG analysis runs via [Pyodide](https://pyodide.org) (Python compiled to WebAssembly), which is downloaded automatically on first `npm install`. > **Note:** `npm install` downloads ~300 MB of Pyodide WASM files on first run. This is expected and only happens once. ## Installing from Source (for developers) 1. Clone the repo: ```bash git clone https://github.com/makebrainwaves/BrainWaves.git cd BrainWaves ``` 2. Install dependencies (this also installs Pyodide and patches certain deps): ```bash npm install ``` ### Development Start the app with hot-reload using [electron-vite](https://electron-vite.org/): ```bash npm run dev ``` ### Testing ```bash npm test # run all Vitest tests once npm run test:watch # run tests in watch mode npm run test-all # lint + typecheck + build + test (full CI check) ``` ### Typecheck & Lint ```bash npm run typecheck # TypeScript type check (no emit) npm run lint # ESLint npm run lint-fix # ESLint + Prettier auto-fix ``` ## Packaging Build only (no installer): ```bash npm run build ``` Package for the current platform: ```bash npm run package ``` Package for specific platforms: ```bash npm run package-mac # macOS .dmg npm run package-win # Windows .exe (x64) npm run package-linux # Linux npm run package-all # all platforms (requires cross-platform build tools) ``` For cross-platform builds, see [electron-builder multi-platform docs](https://www.electron.build/multi-platform-build). To debug a production build with DevTools: ```bash DEBUG_PROD=true npm run package ``` ## Contributing if you are interested in fixing issues with the BrainWaves app or helping us add additional features, that's amazing! Please see our [How to Contribute](https://github.com/makebrainwaves/BrainWaves/blob/master/CONTRIBUTING.md). Also, read our [Code of Conduct](https://github.com/makebrainwaves/BrainWaves/blob/master/CODE_OF_CONDUCT.md) ## License [MIT](https://github.com/makebrainwaves/BrainWaves/blob/master/LICENSE)