Skip to content
@neurodevs

neurodevs

Follow @ericthecurious.bsky.social Contact me hello@ericthecurious.com

Welcome to Neurodevs 🧠🤖💜👋🏻

Neurodevs is an ecosystem of portable, open-source tools for real-time biosignal systems (and a few related domains) with a simple goal: make biosignal systems behave exactly as they say they do.

Think boring reliability for real-time biosensors and biosignals.

The work toward that reliability is ongoing, and major version changes should be expected as the ecosystem matures.

Problem situation

Neurodevs addresses a recurring problem seen across deployed biosignal systems:

Reliability most often breaks down at the point of runtime coordination between software and hardware, especially in long-running processes subject to unpredictable real-world conditions. Subtle failures in timing, state, buffering, or lifecycle management can accumulate over time, quietly undermining otherwise sound experiments.

A closely related problem is that when these systems drift or degrade, it's often difficult to tell what actually happened. Runtime behavior is often either opaque or only observable after the fact, once data has already been recorded or lost. Runtime issues such as timestamp jitter, clock drift, or dropped samples may only surface indirectly, if at all, and usually too late to intervene.

In practice, these systems may seem to function correctly while gradually deviating from intended behavior. Data continues to flow, even as timing assumptions are broken or state transitions behave differently than expected. By the time a problem is seen, it's often no longer possible to distinguish a genuine experimental effect from an artifact introduced by the system itself.

While some problems can be corrected during analysis, others result in irrecoverable loss of timing or state information.

Approach

Neurodevs addresses these problems through real-time systems orchestration.

The guiding approach is to make runtime behavior explicit and observable, so that reliability is demonstrated continuously rather than reconstructed, validated, or inferred after the fact. This emphasis treats timing, state, buffering, and lifecycle behavior as first-class properties of the system rather than incidental implementation details.

The ecosystem is built on Node.js and TypeScript for their strengths in long-running, event-driven, and cross-platform systems. This allows the same code to run consistently across desktops, servers, embedded systems, and constrained environments, while integrating cleanly with native libraries and external tools written in languages such as C++ and Python.

The tools focus on data acquisition and transport layers, supporting basic real-time signal processing while delegating heavier analysis to external applications via Lab Streaming Layer (LSL) or WebSockets. Typical workflows include applications written in Python, MATLAB, or C++, running either locally on the same network via LSL or remotely over HTTP(S) via WebSockets.

Wherever possible, this reliability is abstracted into the system itself rather than imposed on its users.

Entry points and usage

Coming soon...

Background

Many Neurodevs projects originated in applied R&D projects supported by SBIR, STTR, and TACFI grants through my former employer, Lumena. Earlier versions were deployed on more than twenty U.S. Air Force bases worldwide for wellness and mindfulness training applications, where real-world use hardened the system against common failure modes.

Neurodevs continues this lineage now as an independent, open-source ecosystem shaped by lessons learned from repeated deployment, maintenance, and long-term operation.

Contributing

Contributions are welcome and reviewed carefully. Pull requests must follow test-driven development (TDD) by the three laws:

  1. Do not write production code unless it is to make a failing test pass.
  2. Do not write any more of a test than is sufficient to fail.
  3. Do not write any more production code than is sufficient to pass the failing test.

Collaboration beyond code is also welcome. If you are interested in ideas, research directions, or partnerships, you can reach me on Bluesky at @ericthecurious or by email at hello@ericthecurious.com.

Contract work is available at a professional rate.

Pinned Loading

  1. node-lsl node-lsl Public

    Lab Streaming Layer (LSL) for synchronized streaming of multi-modal, time-series data over a network

    TypeScript 7 2

  2. node-biosensors node-biosensors Public

    A Node.js package for various biosensors and associated biosignals.

    TypeScript 1

  3. node-biometrics node-biometrics Public

    Analyze and visualize biometric data (currently focused on PPG)

    TypeScript 2

  4. node-signal-processing node-signal-processing Public

    Digital signal processing algorithms on Node

    TypeScript

  5. node-xdf node-xdf Public

    Extensible Data Format (XDF) for persisting multi-modal, time-series data with metadata

    TypeScript

  6. node-ble node-ble Public

    Connect and stream data from Bluetooth Low Energy (BLE) devices

    TypeScript

Repositories

Showing 10 of 37 repositories

Top languages

Loading…

Most used topics

Loading…