Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.elata.bio/llms.txt

Use this file to discover all available pages before exploring further.

Use this page if you are new to the SDK and want one successful scaffolded app running locally before you integrate anything manually. If you want the full map (rPPG primary, EEG optional, Bluetooth to connect a headset) with scaffold vs step-by-step vs overview, use Build A Browser App. The goal is simple: get a working app running locally, understand which template maps to which sensor workflow, and know where to go next.

What You Will Build

You will scaffold one of the published starter apps with @elata-biosciences/create-elata-demo. Pick the template that matches your goal:
  • rppg-demo: primary: camera-based pulse/rPPG app
  • eeg-demo: optional: browser EEG processing with synthetic data
  • eeg-ble alias: Bluetooth: use the EEG starter app with the BLE-focused alias when you want a Muse-compatible headset flow

Why Start Here

This is the recommended default because it gives you:
  • a working app structure
  • pinned compatible package versions
  • a reference implementation you can compare your own app against
Do this before cloning repo demos or using internal maintainer workflows.

Step 1: Choose A Template

Use this decision table:
If you want to…Choose
Build the default camera-based app (no extra hardware)rppg-demo
Add browser EEG only (synthetic or offline samples first)eeg-demo
Enable a Muse-compatible headset over Bluetooth (Chrome/Edge)eeg-ble alias for eeg-demo
If you are unsure, start with rppg-demo.

Step 2: Scaffold The App

Start with the interactive chooser:
pnpm create @elata-biosciences/elata-demo my-app
If you prefer the explicit default path instead, scaffold rppg-demo directly:
pnpm create @elata-biosciences/elata-demo my-app -- --template rppg
If you want to see the full template list first:
pnpm dlx @elata-biosciences/create-elata-demo -- --list-templates
The full alias and template matrix lives on create-elata-demo.

Step 3: Install And Run

Copy one column (pnpm or npm), then run each line in order:
cd my-app
pnpm install
pnpm run dev

Step 4: Confirm What You Have

Once the app starts, verify the expected behavior:
  • rppg-demo: asks for camera access and starts a pulse-style session
  • eeg-demo: loads EEG processing in the browser and shows synthetic-data-driven output
  • eeg-ble alias for eeg-demo: adds Bluetooth pairing and streaming guidance for a supported Muse-compatible headset on top of EEG
If your goal is just evaluation, stop here first and learn from the generated app before integrating into an existing codebase.

Step 5: Understand The Generated App

Each scaffolded app gives you:
  • a minimal Vite + React shell
  • Elata packages already wired in
  • a README.md with template-specific notes
  • a build script so you can confirm the app compiles cleanly
This is meant to be your known-good baseline. When a manual integration goes wrong later, compare your app against this generated one before assuming the package is broken.

Common Gotcha: Scaffolding Inside Another pnpm Workspace

If you create my-app inside another repository that already has a pnpm-workspace.yaml, pnpm install may attach to the parent workspace instead of the generated app. Run these one line at a time from the parent directory (adjust my-app if needed):
pnpm --dir my-app --ignore-workspace install
pnpm --dir my-app --ignore-workspace run dev

Where To Go Next

You already have a running scaffold. The recommended order is camera rPPG first (most people’s primary app), browser EEG second if the product needs brain signals, then Web Bluetooth to connect a headset (transport on top of EEG). Each step splits the same way: stay on the scaffold or integrate into an app you already have.

Next: Camera (rPPG): primary

Pick the row that matches you:
Your situationWhat to do next
New app: you will keep building from the generated rppg-demo scaffoldUse rPPG In A Browser App for the integration model, then rppg-web while you change the template. For scaffold CLI details: create-elata-demo.
Existing app: you need rPPG inside a codebase you already shipFollow Add Camera-Based rPPG To An Existing Browser App step by step.

Then: Browser EEG: optional (no headset yet)

Your situationWhat to do next
New app: extend or respin eeg-demoEEG In A Browser App, then eeg-web. Scaffold reference: create-elata-demo.
Existing appAdd EEG To An Existing Browser App.

Then: Enable Bluetooth headset (Muse-compatible)

Your situationWhat to do next
New app: extend eeg-demo via the eeg-ble alias pathWeb Bluetooth With Supported Devices, then eeg-web-ble (and eeg-web).
Existing appStream Muse-Compatible EEG Over Web Bluetooth. If WASM is not wired yet, do the EEG row above first.

Full map

For the same choices in one place in priority order (rPPG, then EEG, then Bluetooth), use Build A Browser App.

Example Apps

Example Apps

Full product-shaped reference implementations

Choose A Package

Package decision guide