published 8/21/2025

The First MoQ App: hang.live

🚨 It’s finally happening! 🚨

4 months ago I quit my job and went all-in on MoQ. 4 months of vibe coding later (Claude Code is goated) and I’ve finally got something worth sharing, but by no means complete.

Omni-chan

Watch the demo. I know I spoiled the joke but I wanted to show Omni-cheeks.

hang.live is place to hang out with friends after a long day. It’s meant to be fun and stupid. Everything is live and focused on human interaction. People will eventually need a break from AI slop… even if that means disqualifying myself from VC funding.

Preview window

Even the room previews are live. Watch as others have fun without you.

And of course, all of the functionality (except for user accounts) uses Media over QUIC. I wanted to demonstrate what’s now possible within the browser, utilizing WebTransport, WebCodecs, WebAudio, WebGPU, WebAssembly, WebWorkers, WebEtc. Basically every web feature under the sun except for WebRTC.

If any of those names sound cool, check out my Replacing WebRTC post. And maybe you can catch me in hang.live/@moq when the kids aren’t hovering around my office.

Open Source

Even if you don’t want to use a site designed for cringe teenagers, there’s much to be excited about.

The core networking and media stuff is open source, written in Rust and Typescript. I’ve been polishing the core libraries for a few years now, so they’re actually pretty good. There’s some less-than-generic features, like hang.live is using a track that contains the x,y,z coordinates of a broadcast. However, every component is opt-in via enabled: true so you can pick your poison.

There’s already a few companies using my awful code, including Cloudflare now and, terrifyingly enough, a few defense contractors that shall not be named. I want to help you grow that list, join the Discord. Seriously, this has become a personal vendetta against WebRTC.

The vibe coded UI is closed source for now. I still have ambitions of hang.live taking off and want to make it a tiiiny bit more difficult to clone. And you should probably make something more professional anyway.

hang.live logo

Design is not my passion. I’m literally using code to generate an SVG.

Features

Too busy to invite a friend and try it out? Me too. If I had friends.

Seriously just try it out. It’s pretty slick and words don’t do it justice.

Huge Disclaimer

This shit is hard. Nothing has been optimized and the user experience still leaves much to be desired. Just like the Cloudflare CDN, consider this as a starting point and NOT the end state.

WebRTC has had the luxury of being integrated into the browser and being bankrolled by Google for over a decade. It’s really good at powering Google Meet, but it gets exponentially more difficult as you stray from the happy path. It’s why all conferencing apps feel the same, and I want to change that.

The current focus is to demonstrate what’s possible and polish it later. And I’ve tested Firefox about as many times as I’ve worn a suit. Don’t be that WebRTC fanboy who quips about how it doesn’t work or how unoptimized it is. I’m just one person right now, maybe I’ll metamorphose into a person with friends and money later.

Snarky comment

wtf is vivaldi anyway

On a positive note, that’s proof that everything is hardware accelerated and just needs to be toned down. Maybe we don’t need hundreds of wiggling lines in the background.

The Future

I had given myself at least 1 year to work on this before I’ll consider getting a real jobā„¢. I’m having fun so let’s bump that up to 2 years.

You can help me delay the inevitable by sharing hang.live. Who knows, it might just turn into a real startup.

Here’s my current TODO list:

I’m totally open to suggestions and contributions. Especially if you’re in the San Francisco area and want to vibe. Hit me up.

Written by @kixelated. @kixelated