Ian Lavery is a Principal Software Engineer in Vancouver with 11 years of experience building production-grade audio and ML-enabled systems, currently leading engineering efforts at Picovoice. He has deep expertise in on-device voice technology, contributing Android and C# SDKs for well-known projects like Picovoice/Porcupine that power wake-word detection and microphone demos. Ian’s background blends systems-level audio engineering (Synaptics, Malaspina Labs) with multimedia and interactive art—he continues to create gesture-responsive XR work as a freelance multimedia artist. Known for pragmatic robustness (e.g., disposal protection and WAV logging) and cross-platform pipelines, he bridges low-level audio capture, backend ML integration, and user-facing demos.
11 years of coding experience
12 years of employment as a software developer
Bachelor of Arts (B.A.) Double Major in Computer Science and Music Minor in Applied Music Technology, Bachelor of Arts (B.A.) Double Major in Computer Science and Music Minor in Applied Music Technology at The University of British Columbia
On-device voice assistant platform powered by deep learning
Role in this project:
Mobile Developer (Android)
Contributions:3 releases, 161 reviews, 251 commits in 2 years 2 months
Contributions summary:Ian primarily contributed to the Java SDK for the `picovoice/picovoice` repository, focusing on the implementation of a microphone demo for the Porcupine wake word engine. The commits demonstrate the creation of an input audio stream from a microphone, monitoring, and printing the wake word detection time and wake word on the console. Additionally, the user implemented the ability to optionally save the recorded audio into a file for debugging purposes.
On-device wake word detection powered by deep learning
Role in this project:
Backend Developer
Contributions:3 releases, 307 reviews, 210 commits in 2 years 2 months
Contributions summary:Ian contributed to the C# SDK for the "Porcupine" project, developing a .NET demo for wake-word detection, and also implemented WAV file writing and audio device selection functionality. Their work includes creating an input audio stream from a microphone, processing the audio, and detecting wake words, while optionally storing the recorded audio. The user also refactored parts of the code, and added disposal protection to avoid resource leaks, enhancing the robustness of the SDK.
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.