Inspiration

Working with UX, I often faced difficulties collecting user feedback. I believe the most honest feedback is implicit and EEG data could be used to augment session data.

What it does

Mindchannel puts brainwaves in the development loop.

It connects a BrainBit EEG headset to a local service that calibrates the signal, derives confidence-gated estimates such as relative cognitive load and focus stability, and makes a compact summary available to Codex.

This supports two workflows:

  1. A general context channel: while someone works with Codex, Mindchannel can add a small, workspace-scoped adaptation hint to the prompt. For example, Codex may respond more concisely or break work into smaller steps when the current signal supports that adjustment.

  2. EEG-assisted prototype testing: Codex can create two versions of a local web interface and launch a study. Mindchannel records the participant’s browser interactions with rrweb, aligns them with the derived EEG timeline, and presents a synchronized replay. Codex receives bounded evidence—not raw EEG or the complete recording—and produces a qualitative interpretation linked to specific events and replay timestamps.

For example, a developer can ask Codex to compare an inline alert with a toast notification. After the participant tries and rates both versions, Mindchannel shows behavioral metrics, explicit ratings, EEG-derived estimates, signal quality, and a replay of the complete interaction. Codex can then recommend one focused change to test next.

Everything runs locally, and people without a headset can use deterministic simulated signals to try the full workflow.

How we built it

Mindchannel is organized around a local Python and FastAPI service that owns device connections, calibration, estimation, quality gates, study state, and persistence.

The live hardware path connects to BrainBit devices through the native BrainBit SDK. A vendor-neutral source boundary keeps the system open to additional EEG hardware later. The same interface supports deterministic simulated scenarios for development and demos.

A Codex plugin provides:

  • a prompt hook for optional EEG context injection;
  • progressively loaded skills for onboarding and prototype A/B testing; and
  • an MCP server through which Codex can inspect signal readiness, prepare studies, and retrieve bounded evidence.

For UI studies, a development-only Vite adapter instruments existing local applications without changing their production builds. rrweb captures precise browser activity, while Mindchannel aligns interaction events with derived EEG windows on a shared timeline.

At the end of a study, an isolated Codex invocation receives a structured evidence packet containing observed interactions, explicit ratings, derived EEG estimates, confidence and quality metadata, and stable replay references. Its interpretation must preserve those evidence links so developers can inspect the underlying moment themselves.

Challenges we ran into

The hardest challenge was making noisy physical signals useful without pretending they were more certain than they are. Electrode contact, movement artifacts, calibration, stale samples, and short observation windows can all affect an estimate. I built explicit quality and confidence gates, then exposed those states in the interface so developers can distinguish usable evidence from suppressed or degraded windows.

Synchronizing two very different timelines was another challenge. Browser events and EEG windows arrive at different frequencies and through different systems.

Accomplishments that we're proud of

We built a complete local-first path from a physical EEG headset to useful, inspectable context inside a coding agent.

Mindchannel can:

  • connect to and calibrate a real BrainBit headset;
  • inject a small quality-gated adaptation hint into ordinary Codex prompts;
  • instrument an existing Vite application;
  • compare two simultaneously addressable UI variants;
  • record and replay browser interactions locally with rrweb;
  • synchronize interaction events with EEG-derived state;
  • generate an evidence-linked qualitative interpretation; and
  • run the same workflow with deterministic simulated data.

The result is not just a visualization. The evidence becomes part of an actual agent-driven development cycle: build, observe, interpret, change, and test again.

What we learned

EEG is most useful as contextual evidence rather than a standalone verdict. A change in estimated load becomes meaningful when it is aligned with something observable: hesitation before a click, repeated navigation, an explicit rating, or a particular interface transition.

Provenance also matters as much as interpretation. The most compelling output is not “the user was confused.” It is a hypothesis supported by a replay timestamp, an interaction sequence, a participant rating, an EEG window, and the quality of that window.

Finally, integrating implicit testing into the developer’s existing agent workflow makes it much more usable than treating it as a separate analytics product.

What's next for Mindchannel

Next, we want to test Mindchannel across more real development sessions and learn which derived signals consistently improve an agent’s recommendations.

I also plan to:

  • support additional EEG devices through the existing source interface;
  • improve personalized calibration and estimator quality;
  • compare results across multiple participants and repeated studies;
  • explore opt-in user fine-tuning and longer-term adaptation;

Built With

Share this project:

Updates