Dr. Gleb Bahmutov, PhD

JavaScript ninja, image processing expert, software quality fanatic

email blog github @bahmutov slides conferences videos about me


I am a software engineer interested in front and back end development, especially in using JavaScript (and its flavors) across the entire stack. I work at Kensho, making the world a better place. I try to blog on topics related to software craft (more than 300 blog posts!). Here is what people say about my blog posts and presentations.

{{ projects.length }} OSS projects

In my spare time I built some cool stuff; see the links below. I try to keep modules small because I agree with Sindre Sorhus.

About me


I worked at uTest for half a year, mostly bringing together and updating various front end technology stacks.

I worked for a year at MathWorks, helping to bring the power of MATLAB to the browser.

Earlier I spent four years as a researcher at EveryScape, writing panorama stitching and 3D modeling software. Before that I worked calibrating 3D laser scanners and developing white light scanners. Even before that I wrote distributed database access software that worked across Objective-C, C and Java systems.


I am a member of multiple meetups in the Boston area and spoke about grunt, code coverage and testing, technical debt visualization, best practices for handling dependencies, agile software quality, angular performance, Chrome code snippets and many other topics. I also spoke at conferences around the world about AngularJS, NodeJS, how to teach JavaScript, testing code and modular development. You can find most of my slide decks at slides.com/bahmutov.


Doctorate from Purdue University (West Lafayette, Indiana) working with Dr. Voice Popescu (adviser) and Dr. Mihai Mudure (fellow candidate), developing a novel scanning sensor. We were building 3D models of rooms in real time using a video camera and a bunch of lasers. If you were afraid of lasers, you could be anywhere else in the world, observing the results over the internet, as our system was smart enough to incrementally update the 3D model and send the results in real time.

Small print

Some of my github repositories are not up to date, while I am working on cleaning up the code.