Podcast
Audio Programming with JavaScript w/ Nick Thompson (Elementary Audio) | Ep 21
Audio engineer Nick Thompson discusses Elementary Audio, a JavaScript framework that brings modern web development practices to native audio programming, enabling faster prototyping and deployment while eliminating common development bottlenecks.
Nick Thompson, founder of Elementary Audio and a software engineer with over 10 years of experience, shared his journey from web development to audio programming and introduced his innovative framework for building native audio applications with JavaScript. Thompson started his career in full-stack web development, working with JavaScript, React Native, and various other technologies before making a deliberate transition to audio software in 2016. His unique background in both web technologies and low-level audio programming led him to identify significant inefficiencies in traditional audio development workflows, which inspired the creation of Elementary Audio.
Elementary Audio offers a functional, declarative approach to writing audio software that bridges the gap between web development and native audio processing. Unlike traditional audio development that requires extensive C++ knowledge and manual management of real-time threads, memory allocation, and state management, Elementary provides a JavaScript API that compiles to high-performance native code. This allows developers to prototype and ship audio applications using the same codebase, eliminating the common industry practice of prototyping in tools like Max/MSP or Pure Data and then rewriting everything in C++. The framework supports multiple deployment targets including web browsers (via WebAssembly), desktop plugins (VST3/AU), and native applications.
The platform is particularly well-positioned for the growing trend of browser-based audio applications and in-browser DAWs. Thompson envisions a future where audio software installation becomes as simple as accessing a website, solving long-standing pain points around plugin installation, version compatibility, and project file sharing between collaborators. While Elementary may not replace C++ for all use cases, particularly resource-constrained embedded systems or massively parallelized tasks, it offers a compelling alternative for a broad range of audio applications, dramatically accelerating development time while maintaining professional-grade performance.
Originally recorded on August 3rd, 2022.




