A playful virtual space for team socials, events and classes. Spatial audio, mini games and no downloads. Free for up to 5 people, right in the browser.

98 points•pawelwentpawel•14 days ago•53 comments•
Hi HN!

flat.social is a fun spatial online meeting app for remote teams and communities. It's largely built like a web multiplayer game, and the 3D virtual spaces are highly customisable with elements and activities (I recently added surfing!).

Live demo to try it out: https://app.flat.social/f/demo-flat

Here's a quick demo video: https://www.youtube.com/watch?v=GeinBNqL23s

It's a solo, bootstrapped project built with Three.js, LiveKit and Rapier for physics. I built the first version during the pandemic and posted it here back then: https://news.ycombinator.com/item?id=31833415

I had a couple of months off this year, so I locked myself in an (almost) jungle house in Brazil and rebuilt it into what I've always wanted it to be.

Would love to hear what you think!

53 comments

coldblues13 days ago
Performance is poor with frequent stutters.

I think we peaked at https://www.gather.town/

The only on-par open source solution is https://workadventu.re/, but it is impossible to self-host to the point that one would think they're doing it on purpose so that you pay them for hosting.

serf13 days ago
>The only on-par open source solution is https://workadventu.re/, but it is impossible to self-host to the point that one would think they're doing it on purpose so that you pay them for hosting.

is there a name for this? I've seen it all over recently. Ente products are like that; it's self-hostable but you've gotta really want it.

One trademark of this : the first steps of install are easy, but then it progresses into this quagmire of no-docs/old-docs/presets that favor the company somehow.

one of these things, (maybe ente photos/auth?) were self-hostable but there was a secret button on the mobile app that had to be known about to input a server URI outside of the cloud host to connect the app to the server backend that's self-hosted. Why would you go to that extent if not to add friction?

pwython13 days ago
pawelwentpawel13 days ago
Hey, thanks for the feedback! It might be the first map load that's a bit heavy (I'm working on this now) - later once everything is loaded it should be much faster. Was it just the first couple seconds that were problematic for you or you stayed longer?

PS. there is also a bunch of graphic tiers which suit more older machines. If you click on the top right there is a menu which has a graphics tab. It should switch automatically after a while too.

jackb404013 days ago
Those videos of the actual webcam feeds are AI-generated, right? If I were you I would at least use the videos of real people from the original demo, if not try to have another live demo. Maybe not the highest priority but it does affect the first impression of the product and whether people assume it's a vibecoded mess under the hood or not.

Anyways, is source available anywhere?

pawelwentpawel13 days ago
Yep, the faces in the demo video are AI right now, mostly for speed. I built a little system to direct / record it but real faces coming soon too!
raphman13 days ago
mildly interesting detail: some of the videos also include an audio track - and because some of the videos are mirrored in time, you get to hear demonic voices:

https://flat-social-bucket.lon1.cdn.digitaloceanspaces.com/p...

https://flat-social-bucket.lon1.cdn.digitaloceanspaces.com/p...

(and I really like this audio-less one: https://flat-social-bucket.lon1.cdn.digitaloceanspaces.com/p...)

gus_massa13 days ago
Real faces as in your friends or actors, or real faces as in unsuspecting users? (I guess the first.)
jackb404013 days ago
Haha cool I figured that's all it was.
toader13 days ago
Are developers still in denial about the capabilities of coding agents, "vibecoded mess under the hood or not"? If the application works, do you think most users are thinking about the code quality?
jackb404013 days ago
OP actually just answered my question with no problem, we're all good bro. We don't need pro-AI evangelists inserting themselves.
dangond14 days ago
As someone who has seen and used (and disliked) many similar pieces of software, something about this feels much better and natural (I think it's that your avatar is just a circle with your video on it). Great job on nailing the feel of it!
pawelwentpawel13 days ago
Thank you! Getting the vibe right was definitely a challenging part, especially light and colours
hmokiguess13 days ago
I don't know man, I think I am not the right audience for this. I think online meetings are fine as is, I want to spend less time on them and more time connecting in real life.

I have been working remotely for a decade now, with fully remote teams, and we never felt the need for a deeper bonding in the form of work meetings that are more casual.

That said, if we want this kind of experience, online gaming already gives us that. I see lots of members of the team hanging out by discord and in gaming platforms.

Looks cool, but I don't want it. That's just my opinion.

lopis13 days ago
We tried a "fun" virtual office tool around covid times called Gather Town, which is 2D. People liked the virtual office, but only for certain company events like hackathons or meetups. The general audience totally prefers something like slack for texting and meeting.

We also had an issue with a few people getting motion sickness from any 3D games, so any 3D virtual meeting space was out of the question for our company. A flat 2D UI would be preferable to the "low performance" option that this project provides, which is quite jarring.

pawelwentpawel13 days ago
The motion sickness part is interesting, never thought about that. In flat.social, you get a 3D view but it's isometric by default, not a first-person view experience.
lateatdesk13 days ago
But what if half the group just wants to chat? I can see this working with a few people kicking a ball around while everyone else talks :)
yawz13 days ago
I always wonder who the right audience is for this type of virtual environment for online meetings. And I am seriously curious because I am probably too old to relate to younger professionals these days, so I may be missing something that other may find fun.
hmokiguess13 days ago
Well, in my case I am more than glad to be missing on this fun is my point.

I think I wouldn't be able to function well in a work environment that had this kind of setup for their meetings on a regular basis, it would feel very draining to me.

I would be certainly open to it infrequently, or as an opt-in, but if the workplace moves towards this direction I know I would struggle.

sockpuppers13 days ago
Is it appealing to people who like open plan offices?

We had to use Gather during covid, as a constant presence virtual office, all day long. It was an exhausting stream of endless distractions, the spatial audio meant people would just start randomly talking to you. But unless you had it pulled up on a monitor dedicated only to it, the real experience was a background tab of disembodied voices playing through your speakers at random, it was jarring and inhumane.

Stevvo13 days ago
HRTF spatialized audio should make your meetings shorter through more efficient communication. It's not about "bonding". For example in a traditional online meeting, it's very difficult to interrupt/interject but than can be done naturally with good spatial audio.
hmokiguess13 days ago
Most meeting software nowadays has a “queue” system which lets you put your hand up. I think that has been a perfect solution to me. In large calls you also have moderators and mute controls.
HerrlichDigital9 days ago
Really nice Project, I'm working with WebRTC my self and i struggled with different things that cause the problems mentioned in the comments. For example Safari has some weird WebRTC quirks (getUserMedia/codec differences vs. Chrome) further more the stutters are often scaling problems and not because of the rendering. And i have seen in my analytics for my App https://sharry.live that there are often connection problems because of restrictive network settings which can be handled by a TURN Server.

Read the full thread on Hacker News →

Related stories