Hey, I'm Dave!
Fullstack Engineer
About Me
I am a fullstack engineer, and leader that combines a strong technical background with a passion for creating enjoyable user experiences. I carry 7+ years of professional experience in the design, implementation, deployment and maintainence of complex software systems from front to back.
Pet Projects
In addition to my day job, I also enjoy experimenting with technology in areas that interest me. As an amateur musician I find audio technology to be a particularly fun space to play around in.
vst.js
vst.js was an experiment in enabling NodeJS applications to interact with native audio plugin formats such as VST, VST3 and AudioUnit. This began as a reseach project since I wasn't very familiar with C++ or audio plugin SDKs initially but I was able to stand up a working prototype.
GitHubnode-audio
The goal of node-audio was to create an api compatable version of the Web Audio API as a NodeJS package that could be extended with additional AudioNode implemented in C++. The library contains an example of one such node called the "PluginNode" that makes use of vst-js to allow developers to connect audio plugins to an audio graph.
GitHubSpeaking
LibertyJSOct 2018
Embracing the Native of React Native
It can be intimidating to crack open the “ios” and “android” folders of a React Native project. In this talk I offered a guided tour of how React Native works behind the scenes. I also showed how this knowledge can help you make better design decisions and expose your own native UI components.
SlidesWebsiteAudio Developer ConferenceNov 2017
Developing audio applications with JavaScript
This talk was a presentation on my work with vst.js and node-audio. I demoed a simplistic Electron-based DAW application that used node-audio and the PluginNode powered by vst.js to allow for multitrack mixing with audio plugin support. I also offered a deeper look at at vst.js and node-audio to explain how it all worked under the hood.
WatchWebsitePhilly Tech WeekMay 2017
Getting the most out of JavaScript (without using JavaScript)
The NodeJS and JavaScript communities offer several ways of interfacing with native code and each approach is best suited to certain use cases. This talk offered an introduction to two approaches, WebAssembly and native C/C++ NodeJS addons.
SlidesWebsite