Platform overview

The platform for neural data

From raw EEG streams to production-ready features, Voxel handles the entire pipeline so you can focus on your application.

Ingestion

Ingestion Layer

Accept raw EEG batches from any device via a simple REST endpoint. Supports variable sample rates, arbitrary channel configurations, and batch-level idempotency.

  • Any device, any channel layout
  • Batch-level idempotency via batch_id
  • Up to 4096 samples per batch
  • Automatic session lifecycle management
curl -X POST /v1/sessions/$SESSION_ID/ingest \
  -H "Authorization: Bearer $API_KEY" \
  -d '{"batch_id":"b001","data":{"Fz":[0.1,0.11],"Cz":[0.2,0.21]}}'
Device
API
Processing
Quality

Quality & Artifact Detection

Every feature window includes per-channel Signal Quality Index and artifact detection scores. Know exactly when your data is trustworthy.

  • Per-channel SQI (0–1 scale)
  • Blink, motion, EMG, bad contact detection
  • Configurable quality thresholds
  • Confidence scores on all outputs
const { quality, artifacts, confidence } = await window.json();

console.log(quality.overall);        // 0.82
console.log(quality.per_channel.Fz); // 0.85
console.log(artifacts.blink_like);   // 0.12
Fz0.85
Cz0.72
Pz0.45
Oz0.91
Features

Feature Store

Bandpower decomposition, spectral entropy, and cross-band ratios — computed per window and stored for retrieval.

  • Delta, theta, alpha, beta, gamma bandpower
  • Alpha/beta and theta/beta ratios
  • Spectral entropy per window
  • Per-channel feature breakdown
{
  "features": {
    "Fz": {
      "bandpower": {
        "alpha": 15.7, "theta": 8.1,
        "beta": 6.3,   "delta": 12.4
      },
      "spectral_entropy": 0.74
    }
  }
}
Delta
55%
Theta
36%
Alpha
70%
Beta
28%
Gamma
9%
Realtime

Realtime Streaming

Every session gets a WebSocket endpoint. Feature windows are published as they're computed — typically under 100ms from ingestion.

  • WebSocket endpoint per session
  • Sub-100ms feature delivery
  • Automatic reconnection support
  • Structured JSON payloads
const ws = new WebSocket(session.ws_url);
ws.onmessage = (event) => {
  const { type, quality, features } = JSON.parse(event.data);
  if (type === "feature_window") {
    updateDashboard(quality, features);
  }
};
Sub-100ms deliveryFeature windows stream as computed
Technical advantage

Why teams choose Voxel

Purpose-built for neural data. Faster, smarter, and more reliable than rolling your own.

FeatureDIYCompetitors
Voxel
Setup time4-6 months2-4 weeks< 5 minutes
Device support1 device/pipeline2-3 devicesAny device
Real-time streamingPolling only
Latency (P95)300-800ms150-400ms< 50ms
Quality gating (SQI)Manual
Artifact detectionCustom codeBasicAdvanced ML
WebSocket streaming
Batch idempotency
Multi-language SDKsPython onlyPython, TypeScript, Go
Uptime SLASelf-hosted99%99.9%

What makes Voxel fast?

Streaming-first architecture

Built on WebSockets and persistent connections. No polling, no batch delays—features publish as computed.

Optimized DSP pipeline

SIMD-accelerated FFTs, zero-copy windowing, and inline quality checks. Every microsecond counts.

Edge deployment

Low-latency compute regions worldwide. Your data stays close to your users.

Ready to build?

Book a demo to see Voxel in action and discuss your use case.

Book a Demo