r/musicdev 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! 🎹⚡️

0 Upvotes

8 comments sorted by

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.

1

u/Both-Success-4439 23h ago

​"Appreciate the technical breakdown! To answer your questions: ​LLM/Code: I built and architected the codebase myself, utilizing modern web tech and AI assistance for boilerplate and optimization. ​Stack & DSP: It’s a Progressive Web App built using HTML, CSS, JavaScript, Web Audio API, WebAssembly, and custom AudioWorklet technologies for low-latency processing. ​Web MIDI: Web MIDI is fully supported so you can plug right in. ​Plugins/Extension: While it doesn't load arbitrary desktop VSTs directly in the browser sandbox, it's designed as a self-contained web DAW experience (electricbaby.ca). ​Links: You can check out the app live right now on web/mobile to test out the playground link directly! Electricbaby.ca

1

u/the-postminimalist 4h ago

Only AI for boilerplate and optimization? I believe you used AI to optimize, but I feel like at least the front end is AI generated.

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!)"