Polarize
GitHub Get in touch

Reading and writing the body electric.

An independent research lab building open instruments and software for bioelectric sensing — and publishing what they find, including when the answer is no.

Process

Built to show where we were wrong.

Every study borrows the discipline of a clinical trial: the inputs and the predictions are preregistered before anything runs, so a result can fail in public and stay on the record. These three repositories are how that works.

  1. 01Before anything runs adaptive-preregistrationPython

    Predict first, then run the code.

    Predictions and pass criteria are written down and tagged in git before the code runs. The plan can change between stages, but every change is dated, says whether the result was already known, and can't turn a fail into a pass.

    PREREG.mdDEVIATIONS.mdRESULTS.md-prereg tags Latest · Oct 13scope-status finds an app version at apps// Why and how we built it → Article
  2. 02How a study is laid out scientific-research-scaffoldPython

    One question per study, and a check that it's kept.

    A protocol for laying out studies and simulators across repositories, and a CLI that scaffolds new ones and checks existing ones against it — with the preregistration kit installed from the first commit.

    STUDY.tomlapps/vN-*model-vX.Y.Z tagsscaffold check Latest · Oct 18Pin agents v0.4.0 (stricter designer) Why and how we built it → Article
  3. 03What the literature says retrieval-augmented-generationPython

    Evidence first, so the model can't make it up.

    Code controls search, evidence, verification and the run log; the model only fills in narrow forms. Every claim cites a verbatim passage, and claims that fail a check are removed and counted, not softened.

    answer.mdrun.jsonverbatim quotesnull-result search Latest · Oct 13Document how to add a paid patent service for the pipeline alone Why and how we built it → Article

Failures stay on the record

A prediction that fails is reported as a fail. Mostly negative results are still results.

Every change to a plan is dated

Plans may change, but each change says whether the result was already known.

No claim without its source

Every claim cites a verbatim passage; claims that fail a check are removed and counted.

Then the publication gate: every citation machine-fetched, every claim tiered, every revision kept. How research gets published here →

Projects

What we're building, in the open.

Every project is a public repository — its plans, code and raw outputs. Each one gets written up when it has something to report, including when the answer is no.

neural-memoryPythonMIT9 merged PRs

Can a network of neurons hold on to a sound?

Falsification benches for how a memory of a sound could be held in neural tissue: spiking-network and habituation models, with preregistered experiments. Mostly negative results.

Latest write-up [SPEC]

In simulation, synaptic depletion never kept a sound-specific memory, and only plasticity gated by the receiving cell did. A published receptor model drained untrained responses under a protein-synthesis block, where the real cell does not.

Read: A spiking network built to lose: what it would and would not remember →

Latest changes

  • Oct 2#9E03-synthesis-block: can the receptor model hold Rajan 2026's synthesis-block results?
  • Sep 25#8singlecell: labile recycling factor and k_deg_scale switches (default = published), reusable R1-R8 gate
  • Sep 25#7model-v0.3.0: single-cell habituation (Stentor) in a peer-reviewed simulator
olimex-shieldPythonMIT2 merged PRs

What can a $70 amplifier actually hear?

EEG/ECG/EMG with an Arduino + Olimex SHIELD-EKG/EMG: firmware, bridge, recording workbench, playback, BIDS export

Latest write-up [C]

A single-channel EEG rig characterised in numbers: in-band 40 Hz power across six captures, why broadband RMS is the wrong figure to specify a rig by, and a proposed test of analog bandwidth as a validation axis.

Read: Can a $70 board tell me I'm wrong? →

Latest changes

  • Oct 2#2Fix spectrum(): summarise every bin in each display bucket
  • Oct 2#1Docs site, generated by automatic-documentation-site

Findings

What the work turned up.

Articles written from the repositories: the question, what was tried, and what the result can and cannot support.

All 16 articles →
A Golgi-stained pyramidal neuron from the human hippocampus at 40x magnification: a dark cell body with spine-covered dendrites branching across the field.
Photograph: MethoxyRoxy
[SPEC] Sep 25, 2026 · Audio-evoked potentials

A spiking network built to lose: what it would and would not remember

In simulation, synaptic depletion never kept a sound-specific memory, and only plasticity gated by the receiving cell did. A published receptor model drained untrained responses under a protein-synthesis block, where the real cell does not.

4 sourcesRead the article →

“A study is one question and everything used to pursue it. Its findings live in one shared corpus, its predictions are tagged before anything runs, and...”

[A] Sep 28 · Method One question per study: laying out research across repositories Why the work here is split into studies, simulators and one shared research corpus, and scientific-research-scaffold, the small CLI that sets new repositories up in that shape and checks existing ones against it.
A page from Charles Darwin's 1837 notebook: the words
[A] Sep 24 · Method Adaptive preregistration: predict first, then run the code A protocol for simulations and research software in which the predictions, the pass criteria and the environment are fixed in git before anything a report will cite is allowed to run.Photograph: Charles Darwin, Notebook B (1837), page 36. Public domain. Desaturated for this...

“The model is used for bounded transformations, while code controls search, evidence, verification, abstention and the run log.”

[A] Sep 24 · Method A RAG tool that keeps the model in check A short, evidence-first protocol for using retrieval-augmented generation without letting a language model turn an unsupported answer into a finding.
A European green crab on wet sand, chelae raised, its carapace mottled green and its walking legs spread.
[C] Sep 16 · Invasive species & bioelectricity Twelve ways to catch a green crab A screening exercise across sensory, biological and operational mechanisms for controlling an invasive crab — what each route would need to be true, what closed it, and the two that are still standing.Photograph: Victor Heng
A closed laptop lying on brick paving, wrapped crosswise in a heavy chain held shut with a padlock.
[A] Sep 15 · Method A research assistant that keeps nothing zdr-research-chat: a voice research assistant where the model, embeddings, speech-to-text and text-to-speech all run on one machine — how the zero-retention claim is checked, and the four places it deliberately is not true.Photograph: Santeri Viinamäki
A dense crowd of European honeybee workers covering comb, bodies overlapping in every orientation, with open cells visible at the lower edge.
[C] Sep 12 · Biosignal translation A hive and a cortex, described the same way A honeybee colony choosing a nest and a cortical population choosing between two motions have carried the same formal description since 2009. What it covers, and where its own authors say it stops.Photograph: Nick Pitsas, CSIRO

Design system

polarize-uiTypeScript + zero-build CSSMIT

Science is beautiful. Its web presence should be too.

The design system behind these pages, built for interfaces that show scientific data honestly. Every measured, modelled or speculative value carries a label, and the label can never be hidden.

Charts
A threshold is drawn on the axes it judges; a log axis says so in its label.
Signals
Heatmap and Waveform on a one-hue ramp, with clipping counted, not hidden.
Evidence
Tier, Value and Readout: measured and predicted are never styled alike.
polarize-ui/ Waveform · Heatmap · Tier
Ch1
Ch2
Ch3
Time–frequency

Illustration, not a recording. The label stays on.

Claim

An open question, being actively tried.

Kill condition written before the measurement.

A label may never be hidden. Its explanation must be.

Measured and predicted are never styled alike, and every badge ships a word and a glyph with its colour — so the distinction survives colour blindness, greyscale print and a skimming reader.

Read off the actual render or a real instrument.

Output of a model. Never styled like a measurement.

An open question being actively tried. Carries a how-to-kill-it.

A stated guess. Never evidence.

A claim this project explicitly does not make.