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.
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.
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.
Features
Too busy to invite a friend and try it out? Me too. If I had friends.
- š„ The usual stuff: microphone, webcam, screen sharing.
- ā” Synchronized drag/drop/zoom: No more boring, static grids.
- š¤ Automatic captions: Generated using AI, running in the browser.
- š Previews: See who is talking before awkwardly joining.
- š¬ Text-to-speech: No need to alt-tab, just listen to who has joined. Also AI.
- š Live chat: Super simple text tracks, using markdown.
- ā Favorites: Favorite a hang so you can preview a bunch at the same time.
- š Memes: An assortment of meme videos and sounds; try
/brb
.
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.
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:
- Safari Support: A WebSocket fallback for the Apple fanboys. (nearly complete)
- File sharing: Stream an image or video to the hang.
- Notifications: Get notified when someone joins a favorite hang.
- Desktop and Mobile App: Likely just a webview using Tauri.
- Chat History: The app currently has the memory of a goldfish.
- Discord Bot: Gotta steal the users somehow.
- More AI Stuff: Gotta get funding somehow.
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.