Nicholas Steinmetz is an Associate Professor at the University of Washington with 11 years of experience studying perceptual decision making, vision, and population-level neural coordination. Trained at Stanford (Ph.D.) and UPenn (BSE), he combines hands-on electrophysiology, calcium imaging, optogenetics, psychophysics, and advanced data analysis to link single-neuron dynamics to behavior. He has a strong record of translational tool-building for neurophysiology—contributing back-end fixes to phy, GUI and visualization work for the widely used Kilosort spike-sorting suite, and MATLAB tools for NumPy interoperability—reflecting a rare blend of experimental and software craftsmanship. Based in Seattle, he runs lab efforts that integrate large-scale data acquisition with reproducible analysis pipelines, and is known for smoothing edge-case bugs that improve community tools for high-throughput electrophysiology.
11 years of coding experience
11 years of employment as a software developer
Bachelor of Science and Engineering (BSE) Bioengineering, Bachelor of Science and Engineering (BSE) Bioengineering at University of Pennsylvania
Doctor of Philosophy (Ph.D.) Neuroscience, Doctor of Philosophy (Ph.D.) Neuroscience at Stanford University
Experimental code to read/write NumPy .NPY files in MATLAB
Role in this project:
Back-end Developer
Contributions:26 commits, 3 PRs, 24 pushes in 7 years 5 months
Contributions summary:Nicholas primarily contributed to the development of a MATLAB library for reading and writing NumPy `.npy` files. They implemented the `readNPY` function, added support for 1D and 2D array formats, and created a test suite. The user also refactored the code by abstracting header reading into a separate function and added an example demonstrating memory mapping functionality.
Contributions:74 commits, 2 PRs, 17 pushes in 1 year 11 months
Contributions summary:Nicholas appears to be primarily focused on developing the graphical user interface (GUI) for the Kilosort software, as evidenced by the commit messages and the changes to the `ksGUI.m` and `kilosort.m` files. Their contributions include adding and positioning GUI elements such as panels, buttons, text fields, and axes for data and probe visualization. They also implement basic functionality like file selection, and adding interactive features such as scrolling and clicking behaviors within the data and probe view.
neurosciencerustspike-sortingsortingchannels
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.