GSOC 2026 Project #17 : Contribute to Experanto

Understanding the brain requires aligning high-dimensional stimuli with large-scale neuronal recordings. Experanto is a Python framework designed to bridge this gap, providing a unified interface for interpolating and aligning time series (calcium imaging, continuous behavior such as running speed), events (spiking data, action-based behavior), and media (images, video). Optimized for deep learning, Experanto recently powered OmniMouse, a large-scale multimodal neural predictive model.

The core strength of Experanto is its flexibility: it allows users to resample frequencies, filter data by behavioral criteria (e.g., “only when running”), and integrate multiple experiments into a single pipeline.

The goal of this project is to expand Experanto’s functionality, visualization tools, and robustness. Proposed focus areas include:

  • Open-Source Data Integration: Currently supporting the Allen Brain Calcium Imaging dataset, we aim to expand to the Brain Wide Map and Allen Neuropixels datasets. Ideally, this involves creating a “brainsets-style” library to automatically download and map these datasets to Experanto.
  • Extend experanto functionality:
    • Enhanced Filtering & Parsing: Developing a string-based configuration interface for complex data filtering—for example: (treadmill > 0 and eye is not nan) & screen == video.
    • Event-Driven Data Handling: Explicitly adding support for event-based data types to better process free-animal behavior experiments.
    • Visualization & Documentation: Building built-in visualization tools and expanding tutorials for data analysis and neural predictive modeling.

Skill level: Beginner/intermediate

Required skills: Strong coding foundation in python, including object oriented programming and writing tests, familiarity with git and git CI/CD. Some knowledge of digital signal processing and interest in neuroscience is preferred.

Time commitment: Flexible (175/350 h, 350 preferred)

Lead mentor: Fabian Sinz

Project website: GitHub - sensorium-competition/experanto: Python package to interpolate recordings and stimuli of neuroscience experiments · GitHub

Backup mentors: Polina Turishcheva, René Burghardt, Tom Olschewski

Tech keywords: Python, object oriented programming, digital signal processing, open science, timeseries, calcium imaging, electrophysiology, datasets

Hi,

I’ve started exploring the Experanto repository and the related issues to understand the architecture and workflow. I’m particularly interested in how the framework aligns and interpolates multimodal data streams (neural recordings, behavior, and media).

I’ve also been looking at the open issues and the codebase to get familiar with how datasets and interpolation pipelines are currently implemented. I’m planning to start contributing through some small improvements while learning more about the system.

Looking forward to contributing and learning more about Esperanto!

Abiraj

I’m Jana, an undergraduate Software Engineering student at McGill University with a strong interest in the intersection of AI, neuroscience, and brain–computer interfaces. I’m particularly fascinated by how computational systems can model or interact with human perception, cognition, and inner experience.

I recently set up the Experanto development environment locally (all tests passing) and submitted a small documentation PR(#127) adding a basic “Getting Started” example. I’m currently exploring the codebase further while preparing ideas for a potential GSoC 2026 proposal.

Alongside my studies, I’m involved in a research project at McGill related to voice synthesis and latent parameter manipulation to study self-perception and inner voices. Some of the areas I’ve been working on include:
• clustering algorithms for similar vocal characteristics
• filtering artifacts and non-human sounding samples in generated audio

These topics naturally made me interested in Experanto’s work around multimodal alignment and enhanced filtering/parsing of data.

I’m excited to learn more about the project and contribute where I can while I keep exploring the codebase.

Looking forward to connecting with everyone here!
— Jana

Hello,

My name is Aditya Rawat, and I am a Pre-final year Computer Science student (Data Science) at Manipal Institute of Technology, Bengaluru. My interests are in machine learning, data pipelines, and AI systems, and I have worked on ML projects involving dataset preprocessing and predictive modeling.

I recently started exploring the Experanto repository and set up the development environment locally to understand the architecture and testing workflow. While reviewing the interpolator module and running the test suite, I noticed the warning raised for invalid time intervals and submitted a small improvement PR to make the warning message clearer for users debugging dataset annotations.

:small_blue_diamond: Pull Request: #130 – Improve warning message clarity for invalid time intervals

I’m continuing to explore the codebase and look forward to contributing further to Experanto and learning more about its multimodal data alignment framework.

Thank you!
Aditya

Hi.
@PollyTur
I had a small query regarding the proposal template. In the project synopsis is mentioned as 150–300 characters. I just wanted to confirm if this is correct, or if it was intended to be words, since 150–300 characters seems quite brief.

Hi everyone,

My name is Ojas Vatsyayan, and I’m a Computer Science and Mathematics student at the University of Illinois at Urbana-Champaign. I’m very interested in applying to Experanto for GSoC 2026.

I’ve previously worked on neural data processing pipelines, specifically spike sorting and clustering on time-series neural signals. Through that, I’ve worked with event-based data (spike timestamps), which got me interested in problems around aligning and working with neural recordings over time.

I’ve started exploring Experanto and find the approach to aligning multimodal data (spiking activity, behavior, and stimuli) really interesting, especially the event-driven data handling aspects. I’m planning to dive deeper into the codebase and start contributing soon.

Looking forward to learning more and contributing!

Dear mentors,

I’m Mridula, a CSE undergraduate with a background in Python, data analytics, AI and ML, interested in contributing to Experanto for GSoC 2026. I’m particularly drawn to the visualization tools and tutorial expansion goals as these align well with my skillset. I’ve started exploring the repository and would love guidance on where to begin.

Thank you!

Update: I’ve forked the repository and all the 360 tests are passing locally. Looking forward to contributing!

Hey,

I’m Reema, a second-year computer science student from Sri Lanka. Discovering project Experanto really attracted me towards computational neuroscience as I explored more about it. During this time I’ve had 2 PRs (#133 merged, #137 active review). Both went through cycles of review and got to learn a lot. I’m applying to GSoC 2026 for this project and am genuinely excited about spending time contributing and understanding and learning more on how computational tools can advance neuroscience research.

Hello,

Just wanted to share an update!

I’ve been exploring Esperanto’s codebase and recently opened a PR focused on standardizing interpolator behavior . Going through that process has helped me better understand how different modalities are handled across the system, and raising the issue showed me how to best identify and point out codebase mismatches.

I’m particularly interested in the event-driven data handling direction. After some discussion with maintainers, I’m planning to explore extending TimeIntervalInterpolator to support event-aligned window extraction (e.g. extracting fixed windows relative to events like saccades), along with a concrete dataset-backed demo using DANDI.

Excited to keep contributing and digging deeper into the codebase- any feedback or pointers are always appreciated! Looking forward to submitting a proposal for GSOC 2026!

Hi again! I’ve been exploring the Experanto codebase and wanted to share a contribution I made addressing issue #124.

I added support for selecting specific neurons by either unit_ids (loaded from unit_ids.npy) or neuron_indexes (by position) to both SequenceInterpolator and SpikeInterpolator. This allows researchers to filter down to only the neurons they need rather than loading all signals every time.

All 360 existing tests are passing after the changes.

PR here: https://app.gitnotebooks.com/sensorium-competition/experanto/pull/154

Happy to make any changes based on feedback! Looking forward to contributing more as part of GSoC 2026.