Skip to content
Alex Monro

isolate.

Web app · Live

Separate vocals, drums, bass, and melody from any track.

How I built it

The whole product came from one question: what is the simplest version of this that actually works? Every decision came back to that.

Keeping the flow simple

The complete process is drag, preview, select, and download. Users choose vocals, drums, bass, or melody instead of processing files they do not need, and toast messages explain problems without interrupting the whole flow.

Separating the audio

I tested the Demucs model through Replicate because it produced good results and was inexpensive enough to keep the product free. It runs in the cloud, so users need no special hardware, installation, or setup.

Handling real uploads

My first version only handled the successful path. After the flow broke when I uploaded an image, I added immediate file checks in the browser, Zod validation on the server, and cleanup for the temporary object URLs used by audio previews.

isolate processing screen showing audio splitting at 99% with a progress bar
1 / 3

What I learned

Building the successful path is only the beginning. File uploads also need to handle the wrong format, missing files, failed processing, and someone changing their mind halfway through.

Client-side and server-side checks solve different problems. The browser helps someone correct a mistake immediately, while the server decides what the application will actually accept.

Audio previews taught me how the browser handles blobs and temporary object URLs. Creating one is easy, but it also needs to be cleaned up when the user replaces a file or leaves.

Simplicity takes deliberate work. Every additional choice, message, and screen had to justify being there. The clean final flow came from removing things, not adding them.

A smooth interface cannot completely hide a slow core process. A musician friend immediately understood the product and said he would use it, but the processing time was the first problem he noticed. The next step is testing faster models without sacrificing the quality of the separated audio.

Isolate was my first serious full-stack project. It gave me the foundation for Radar, especially around validation, external APIs, unsuccessful requests, and thinking beyond the first working version.

All projectsNext project