TL;DR
- SpatialChat — video-conferencing with proximity audio. Built for events, webinars, and workshops. Plans start at $5/mo, with event tiers supporting up to 10,000 attendees.
- floors.js — embeddable widget for any website. 3D isometric avatars, real-time text chat, speech bubbles. One-time payment of $49.
- The short version — SpatialChat is an event platform. floors.js is a website social layer. Different tools for different jobs.
What SpatialChat does
SpatialChat is an AI-powered event and webinar platform. Its core feature is proximity-based audio and video — the closer your avatar is to someone else, the louder you hear them. It recreates the feeling of walking around a conference floor and naturally joining conversations.
The platform supports breakout rooms, stages, sponsor spaces, and customizable floor plans. It is designed for large-scale virtual events — product launches, company all-hands, networking sessions, educational workshops. Setup involves creating a space, configuring rooms, and inviting attendees. Accounts are required. Plans scale up to support 10,000 concurrent attendees on their top-tier event packages.
It is a powerful tool if you are organizing events. But it is a standalone platform — attendees go to SpatialChat, not to your website.
What floors.js does
floors.js is a single script tag you paste on your website. That is the entire setup. Once installed, every page on your site becomes a room in a 3D isometric building. Visitors appear as blocky Habbo-style avatars, see each other in real-time, and can chat using text messages that appear as speech bubbles above their heads.
There are no accounts, no video, no audio. It is intentionally lightweight — text chat with 3D visuals. Visitors join the moment they land on your site. They get a random avatar and name, and they can start chatting immediately. No permissions dialogs, no camera access, no microphone prompts.
floors.js is built for always-on website presence, not one-time events. It runs 24/7. Your website is social every hour of every day, whether you are running an event or not.
Side-by-side comparison
| SpatialChat | floors.js | |
|---|---|---|
| Purpose | Events & webinars | Website social layer |
| Audience | Event attendees | Website visitors |
| Pricing | From $5/mo, event plans vary | $49 one-time |
| Video / audio | Yes (proximity) | No (text chat) |
| Account required | Yes | No |
| Embeddable on any website | No (standalone platform) | Yes (one script tag) |
| Max attendees | 10,000 | 400 concurrent |
| Always-on presence | No (event-based) | Yes |
| 3D visuals | 2D spatial | 3D isometric |
| Moderation | Basic | Full (kick / ban / timeout) |
| Setup | Create space + configure + invite | Paste one line |
Who SpatialChat is best for
SpatialChat shines when you need to bring a large group of people together for a scheduled event. If you are organizing virtual conferences, company off-sites, networking sessions, or educational workshops and you need video and audio with spatial proximity, SpatialChat is built for exactly that.
It is the right choice for event organizers, HR teams running all-hands meetings, conference producers, and companies that need a virtual venue for hundreds or thousands of attendees — with stages, breakout rooms, and sponsor areas.
Who floors.js is best for
floors.js is for website owners who want always-on social presence without organizing anything. Indie makers who want visitors to interact on their landing page. SaaS founders who want to see who is browsing their pricing page and jump into a conversation. Community sites, course platforms, and documentation portals where real-time chat adds value every day — not just during a scheduled event.
If your goal is to make your website feel alive and let visitors interact as they browse, floors.js does that with zero setup. One script tag, no accounts, no configuration.
Events vs. always-on
This is the core difference between the two products. SpatialChat is for scheduled events. You create a space, set a date, invite people, and run the event. When the event ends, the activity stops. It is a destination people go to at a specific time.
floors.js is always running. The moment you add the script tag, your website becomes social. There is no event to schedule, no invitations to send, no start or end time. Every visitor who lands on your site sees other visitors, can chat with them, and can explore the building view showing which pages are active. Your website is social 24/7 — at 2 AM on a Tuesday, during a product launch, or on a quiet Sunday afternoon. The widget is there, and anyone who visits can interact.
Neither approach is better in absolute terms. They solve different problems. But if you want your website itself to be the social space — not a separate platform — floors.js is the tool built for that.