🌙 A Friend's Room

I was at a friend's place. It was late. Music was on. Something moved on the screen.

Colors shifted. Shapes grew and collapsed. The whole thing breathed with the bass. I sat there for hours. I didn't ask what it was called. I just watched.

I was maybe seventeen. I didn't care what it was. It held me.

💭 Forgetting

I grew up. Got a job. Stopped staring at screens for fun.

I forgot about that night. My brain forgot. But something in my body didn't.

🔧 I Built the Whole Thing

Years later I decided to build a VJ app. I couldn't tell you why. It felt like something I had to do.

I wrote 286 visual presets in p5.js. Beat-reactive. 3D. Layers. Blends. Filters. I built video scratch — you can scratch actual music videos with your finger, like a DJ, but with video. That was something I always wanted to exist.

I finished it. The whole thing. A complete VJ instrument running in a browser, controlled by touch.

🥛 Someone Mentioned MilkDrop

A guy I knew said: "You should check out MilkDrop."

I looked it up. It was cool. Swirling visuals, beat-reactive, built by Ryan Geiss back in 2001. There was a library called Butterchurn that ran it in the browser. WebGL. MIT license.

I integrated it. Added 395 MilkDrop presets on top of the 286 I'd already written. 681 total. Good.

I didn't think much more about it.

⚡ Then I Heard the Word "Winamp"

It was recent. Someone said "Winamp" and something clicked.

Winamp. The media player. The one I used. The one everybody used.

MilkDrop was a Winamp plugin. I had seen it. Years ago. In a friend's room. Late at night. Drunk. Staring at the screen while music played.

That was it. That was the thing I'd been chasing. I just didn't know the name.

I'd already built past it. Then I'd added it on top. And I didn't even realize it was the memory until after.

📻 Winamp

Justin Frankel built Winamp in 1997. Everybody used it. AOL bought it in 1999 for eighty million dollars. Then they killed it. That's what corporations do.

A Belgian company called Radionomy picked up the corpse in 2014. In 2024, they open-sourced the code. One month later, they deleted it.

They didn't know what they had.

🔥 But MilkDrop Didn't Die

The suits gave up. The community didn't.

People forked it. MilkDrop 3.0 runs standalone now. projectM reimplemented it for Linux and Android. And jberg built Butterchurn — MilkDrop in a browser. No downloads. No installs.

🎧 VJam

I built VJam.

286 presets I wrote. 395 MilkDrop presets through Butterchurn. Video scratch. Layers. Blends. Filters. 681 visuals total. All beat-reactive. All in a browser. All controlled by touch.

MilkDrop was something you watched. VJam is something you play.

🌃 2 AM

That thing I stared at in a friend's room, drunk, at two in the morning. I built past it before I even knew its name. Then I added it too.

It's all in my phone now.

vjam.vercel.app

MilkDrop never died. Try it free for 30 days.

Open VJam