Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: I made an app for large group video calls where people shuffle around (mixaba.com)
122 points by andrewicarlson 32 days ago | hide | past | favorite | 48 comments

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.

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.

Interesting! I built something really similar last month, though less polished: https://happyhour.ianwdavis.com/

In my case, I let people create groups ("tables") on the fly and hop between them at will, rather than forced mixing. There's a list along the side that shows which people are at each group. Groups with fewer people sort to the top, to encourage people to join those.

I built on top of Jitsi and the meet.jit.si public servers for video chat. The quality hasn't been as good as something like Zoom, but I love how easy it is to embed and customize!

Wow, this is exactly the project I have been working on for the past few weeks, down to the abstraction of "tables," "starting a new table," and shuffling around at will! I was even building on top of jitsi. Mine was going to be called "lunchbox"...

It's amazing to me how many people had this idea, and that it seemed not to exist before. I am curious how far we can go to make video chat feel as good as in-person socializing.

My Python code is up on Github under a BSD license, if you want to play with it. https://github.com/iwd32900/happyhour

Really nice. Also thanks for open source this.

I'm in a student club and we have our own Jitsi instance so we will probably run it on our own infrastructure.

Do you have any plans for a "random" feature? If not would you be open for pull requests?

Hadn't planned on the random feature, but totally open to pull requests!

Nice! I like that you create parties for anonymous users – that's been in my backlog but I haven't devoted the time to allowing totally anonymous party creation yet.

I'll have to take a look at Jitsi – I've been using Twilio's Programmable Video API.

I didn't realize Twilio did video -- I'll have to take a look!

I had this exact idea yesterday and thought "Why hasn't someone already made that?".

My team/org (20-ish people) has a Friday end of week social- even when we're all remote. Going to see if they want to try this instead of our usual 'taking turns talking while shy people say nothing'.

Awesome! I'd love to hear how it works for you all and any feedback you might have.

This sounds like a cool idea.

My feedback would be: add a demo or something. Let me see what you're pitching before I go to the trouble of creating an account. Just a video of clicking around in the UI for a few minutes would do the trick.

That’s definitely a common request today — I’ll get that done!

How to create a social networking event remotely for a happy hour or business networking event or party is an interesting unsolved problem. Here are a few other early protypes from teams working on it. Both of these have a UI where you walk around a 2d space and can communicate with groups nearby:



Looks great - I'd also be interested in a chat app that lets users move their camera in a 2D space, even across "rooms", so you can form small social groups. I know you can do these things in 3D in things like Mozilla Hubs but 2D would work better for most users

I have an open source project built on Jitsi Meet that does this https://www.calla.chat

I made a janky open source version of this. I haven't gotten around to polishing it. https://github.com/boconnell/spatially-aware-video-chat

Great idea! Being able to choose the rooms you enter or leave could be a good way to help make the party more organic.

This is exactly https://spatial.chat

Really wanted to try it out, but would have been nice if there was some demo or something before they asked for my email

Similar to https://rally.video

Really cool idea! I've tried the zoom breakout rooms, and they get the job done for my use case, but its a bit clunky and doesn't seem to support shuffling of groups at a regular interval

Thank you! That's good feedback on the Zoom breakout rooms – it is more aimed toward the enterprise but I was thinking something like this might also be useful for workshops where you want to disperse people at those regular intervals. Obviously not the primary audience though since there are enterprise tools in that space.

Feature suggestion!

Allow two participant types, with separate links to join the same event, and then add the ability to (best effort) match type 1s with type 2s.

So you could use it for (straight) dating, where the types are male and female, or mentoring/office hours where the types are mentor or mentee, or investor or investee, or like “meet an American” where the type a is American and type b is not, etc, etc, etc..

I also assume it tracks who has already been with who and doesn’t match them up again as long as there are other new people left?

Thank you, that's a very interesting suggestion. I haven't heard that one yet. I like the idea of putting more options behind the shuffling, it could make it more engaging and offer focused-but-not-forced random encounters.

I tried Zoom's breakout rooms (~8 people per) for a virtual birthday party and it didn't work well. The audio delay made it really hard to have a free-flowing conversation which then made others feel bad when trying to step in. IMO large video calls only work then there's a specific agenda and one person doing most of the talking.

I couldn’t agree more! These rooms are capped at 4 people max per room, but you can configure it to go down to as small as 2 people per room. To keep the conversation flowing better.

This is promising! Noting for later.

Has anyone seen the spatial audio only https://www.highfidelity.com/ too?

I'm looking at both of these this week.

That looks really neat, thanks for sharing!

Amazing, this is solving the exact problem I have with zoom parties and even large semi/ recreational work meetings. Will try at the end of week meeting with my team. Nicely done!

Cool! I'm looking for any and all feedback when you give it a go!

My own take on it: https://zonko.chat

My thinking is that you should be able to control where you go and which group you stand in.

Very interesting. I got the same idea, but execution always beats ideas :).

The key challange for your product is not technical, but go to market strategy. How users might discover your app?

You're so right. I have a long history of building things and then struggling to getting them to market. It's definitely a weak area for me. Right now I'm trying to get the word out there and get as much user feedback as possible before doing any more development – the bones are there, I just need the users to tell me what should be better.

A potential area of opportunity is around meetups.

Can you e-mail me (the address is in profile)? Lets figure out how to do it.

Nice. One suggestion, put demo video on the page.

You got it!

Cute idea

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact