# Shift Happens

ReacDetect, a sleep-reactivation toolbox for calcium imaging that knows when not to trust itself.

- Date: Nov 7, 2026
- Result: 1st place
- Event: Claude Impact Lab
- Role: Engineer A: the data loader, methods M1 and M2, the submission, and an orchestrator that ran one Claude Code worker per task
- Team: Three, a researcher and two engineers
- Built with: Python, NumPy, SciPy, scikit-learn, Claude Code
- Open ReacDetect: https://batucani.github.io/shift-happens/app/
- Code: https://github.com/BatuCani/shift-happens

During sleep, groups of neurons that fired together during a task can fire together again.
Methods for detecting this reactivation were built for sparse electrophysiology spikes.
Whether they hold up on slow, autocorrelated two-photon calcium data is an open question in the field.

Our team built ReacDetect, an open toolbox that checks the methods first and only then asks the question.
It runs four standard methods, and each one is tested against the same null: every neuron's trace circularly shifted by its own random offset, 500 times.
The shift in that null is where the team name comes from.

The question, the number, the unit and the threshold for "yes" were locked for each method before any real result came in.
A method only counts if it passes planted-truth synthetic controls.

On the one public RIKEN calcium session, the answer is not enough evidence: no counted method says yes.
On eight rat electrophysiology sessions with known reactivation, used only as a positive control, two methods are significant in all eight, so the toolbox can say yes on real data.
On a fresh clone, one command reproduces the eight real-data result files byte for byte.

I was Engineer A.
I wrote the data loader, two of the four methods and the submission, and I ran an orchestrator that gave each task to its own Claude Code worker in an isolated git worktree.
The project took 1st place at Claude Impact Lab.
