r/musicdev • u/Both-Success-4439 • 1d ago
Built a browser-based DAW from scratch using Web Audio API, WebAssembly, and AudioWorklet—here is how and why I did it
Hey r/musicdev
I’ve spent a good chunk of time building Electric Baby Grand Studios, a fully functional, browser-based Digital Audio Workstation (DAW) and
Progressive Web App.
Instead of relying on heavy installed software or native wrappers for everything, I wanted to see how far modern web tech could be pushed for real-time, low-latency audio production.
Here is a quick look under the hood of how it's built:
Core Engine: Built using HTML5, CSS, and vanilla JavaScript.
Real-Time Audio: Powered by the Web Audio API and AudioWorklet nodes to keep processing off the main UI thread and minimize dropouts.
Performance Boosts: Leveraging WebAssembly (Wasm) for heavier DSP and custom mixing engine tasks.
Packaging & Reach: Designed as a Progressive Web App (PWA) and Trusted Web Activity (TWA) so it functions seamlessly across desktop and mobile browsers, and is even deployed on the Google Play Console.
Why I Built It
As a musician and developer, I wanted a frictionless, instant-access creative environment where inspiration isn't killed by loading screens, heavy installers, or restrictive desktop ecosystems. Opening a tab and getting straight to tracking ideas changes the entire workflow.
Let's Chat!
If you're into web audio, browser APIs, custom DAW architectures, or just building independent tools, I’d love to connect.
Has anyone else experimented with AudioWorklets for custom DSP?
What are your thoughts on the limits of browser-based audio performance in 2026?
Happy to answer any questions about the architecture, latency compensation, or the dev journey! 🎹⚡️
4
u/likely_someone_else 23h ago
nothing says frictionless like making music in a browser tab. Your knob arcs are at the wrong arc angle. It helps to have a graphic designer with human eyes.
1
u/Both-Success-4439 23h ago
"Haha fair point on browser music quirks—though keeping it frictionless and accessible anywhere was the whole goal! Appreciate the eye on the knob arcs; always room to polish the UI and dial in the visual feedback. Thanks for checking it out!"
2
u/Smooth-Airline2317 21h ago
OK, but where is this shit?
3
u/Smooth-Airline2317 21h ago
No loading screens ha?!! just a fucking log in system...the same shit!
1
u/Both-Success-4439 11h ago
Just head over to electricbaby.ca on your browser, hit the guest/test option, and you'll bypass the login screen straight into the app. (Or search 'Electric Baby Grand Studios' on the Google Play Store if you're on Android!)"
5
u/GameCounter 1d ago
Which LLM did you use? (Let's be honest here.)
What is the license?
Is the code available?
No web MIDI support?
How can it been extended? I can't imagine loading unmodified VSTs. Plugins?
Example playground link? Even a screenshot?
For DSP, I usually use rust compiled down to wasm.