Hacker News new | ask | show | jobs
by andrewicarlson 2206 days ago
Hello again, HN! I'm Andrew and I recently built and released Mixaba – it’s a new way to mix and mingle with people you already know online.

Since the shelter-in-place orders started rolling out in the US I've had the opportunity to attend remote happy hours and larger remote social events. During those video calls I found that oftentimes the conversation felt a little out of cadence or stilted because there would be a greater number of people in the same room than could have a comfortable conversation at any given time.

I struggle enough with social events that it's important to me to have as fluid and comfortable a conversation as possible...especially when remote. To me, part of that includes trying to avoid too many people speaking at the same time which can cause confusion and annoyance. Having 20 people all try to join the same casual conversation over video usually means someone is left out and unheard.

I wanted to create a way to get a little closer to the small-group experience we might find in-person where people naturally break off into small groups and chat and then move on. Zoom has breakout rooms but it's aimed closer to the enterprise, and if there are security concerns it can be nice to have an alternative that doesn't require installation or advanced permissions.

To that end, Mixaba is a small project that I proof-of-concepted that first weekend of our local shelter-in-place orders. One person creates a "party" and can optionally change the shuffle duration, room occupancy, and a secret code. They then share that link to as many of their friends or co-workers as they choose. Anyone who has the link (and optional secret code) can join the party without creating an account. As soon as people start joining a timer starts and based on the party configuration the participants will shuffle at the end of the timer and it starts again!

I've been refining the product and we've been using it at work for happy hours and lunches, and even family Easter get togethers. It's currently only on the web and has support across Chrome, Firefox, Safari and Edge. Phone support is experimental but it works pretty well on both iOS and Android. I'd love to see it turn into a mobile app as well for even better support.

It's free and there's no account needed to join a party, no desktop app download, and no 50 person limit. I'd love to get some feedback on whether you would find this useful or if there are any general comments or concerns!

Here's my previous post on HackerNews: https://news.ycombinator.com/item?id=23045293 and a comment on a quarantine side project post: https://news.ycombinator.com/item?id=23182747.

2 comments

How do you fund this? I got semi-far with some friends on building a project similar to this, however, we stopped halfway through because we realized that video hosting quickly becomes quite expensive; without a monetization plan, there'd be no way we could stay afloat. Looks great!
@mmcclure is right. This uses WebRTC and is currently in peer mode. As soon as I start allowing more than 4 people per room that might cause some performance issues, I’ll need to monitor that. As it stands now there is a hard cost, but it isn’t prohibitive yet.
Not OP, but video nerd. I haven't actually used the product yet, but my guess is they're using WebRTC, which can be run (almost) completely as a peer-to-peer mesh network for small enough groups.

Where video can start getting really expensive is, as you said, when you're centrally hosting/processing/streaming large amounts of it. For this use-case there's a good chance they don't end up touching the video streams themselves at all, which is really cool.

I'm bootstrapping a similar project, video chat but with various games.

At cloud pricing you'll be paying $100/TB, but there are plenty of alternative providers that can give you great deals. Hetzner for instance charges $1/TB for their VPS solution.

You can also cut back on video detail depending on the project - you don't need to send 720p streams for something a bit more experimental or with other things happening.

Combined that's low enough that ads should easily cover the bandwidth.

Thanks for building this! Curious to know why you went with random mixing, rather than self-sorting. I expect the timed random mixing would feel sort of heavy-handed, though I haven't tried it so maybe I'm wrong.

Also -- what did you use for the video chat component? I'm assuming you incorporated some existing software/service?

I went with random mixing to add a little variety to the experience. I know personally when I'm at a party I get stuck in a rut and end up talking to the same people over and over. A tool like this where you're warned when you'll mix but you don't know who you might end up talking with next helps with meeting new people.

I also figured it'd be easier to add features like self-sorting later on after I proved out the random mixing idea.

I mentioned it in the other comment but yes, I'm using Twilio's Programmable Video API https://www.twilio.com/docs/video

BTW, I just stumbled across the AWS Chime SDK: https://aws.amazon.com/blogs/business-productivity/customers...

Sounds similar to what Twilio offers, but at about 1/6th the price -- might be worth a look if costs are a concern...

Great find, it aligns with the rest of my stack too so I might find myself experimenting with that.
What was the point of using Twilio's API if you were using WebRTC already? Wouldn't it have already worked without twilio?

I love the idea of the random mixing! I have the same thing happen where once I find a group I just stay there, even if I want to try meeting more people

Twilio's API offers an abstraction on top of WebRTC that handles the peer connections etc. So my interaction is more with Twilio's API than WebRTC directly.

Thanks! It's definitely a struggle of mine. It's more comfortable to stick with a group that you're already accepted into than go try to get accepted again.