Every URL is
a place.
You're never the only one on a webpage. You just can't see anyone else.
Loci changes that. One open protocol that makes the web inhabited — so anything that needs to know "who else is here" just works. Chat. Voice. Games. Whatever comes next.
The Concept
The web is a crowded room
with the lights off.
Billions of people browse the same pages every day. They read the same articles, watch the same videos, search the same questions. But the web was built to serve pages, not to show you the people next to you.
That wasn't an accident. The platforms that grew up around the web — the feeds, the likes, the follower counts — they exist because the web never gave you the simplest piece of information: who else is here right now?
Social media sells you the answer to that question. Loci gives it away.
An open protocol. A single signal — presence — that anyone can build on. Not a platform. Not a feed. A place.
How it works
You show up. That's it.
No accounts. No invite links. No app to join. You visit a page, and if someone else is there, you can see them.
You browse.
Open any page — in the extension, the terminal, wherever. Loci resolves the URL to a single, universal room ID.
You arrive.
You get a name. Not a profile — a name. "Silent Crane." "Bright Moth." Anonymous by default, persistent if you want it.
You choose what's on.
Presence. Chat. Voice. Subscribe to what you want over a single connection. Leave the rest off. Nothing demands your attention.
Clients
Pick your interface.
Official clients for every workflow. All open source, all pointing at the same protocol.
Chrome Extension
Ambient sidebar that appears on every tab. See who's co-browsing, open a chat, or jump into voice — without leaving the page.
Download latest build
Download the ZIP, extract it, then load the unpacked extension in chrome://extensions. Chrome Web Store listing coming soon.
CLI — locus
IRC-style terminal client. Join any URL room, chat in real time, and subscribe to layers from the command line.
npm install -g @loci-protocol/cli
loci join https://example.com
TypeScript SDK
Universal browser + Node library. Dual ESM/CJS. Embed Loci presence and chat anywhere — your app, a widget, a script.
npm install @loci-protocol/sdk
import { LocusClient } from '@loci-protocol/sdk'
Self-host the server
Run your own Loci network on Cloudflare Workers in minutes. Point any client at your deployment and own your data.
wrangler deploy
Official network: loci.frnd.tech
Cookbook
Build your own client with the SDK.
Start with a live playground, then ship your own integration. Try the Slack bot recipe to map channels to webpages and bridge chat in both directions.
SDK Playground
Live route at /playground. Connect to the protocol, inspect messages, and generate starter client code.
DIY Slack Bot Cookbook
A complete walkthrough for a Slack bot that lets users map channels to webpages and join a Loci room directly from Slack.
SDK Reference
Use LocusClient callbacks and helpers to build bots, browser clients, and custom interfaces on one protocol connection.
Layers
One connection.
Use it however you want.
Loci does one thing: it knows who's here. Everything else — every conversation, every voice call, every game — plugs into that signal.
See who's on the same page, right now.
Real-time, ephemeral. When they leave, they're gone.
Talk to the people around you.
Per-page rooms with channels anyone can create. IRC for the whole web.
Just talk.
Peer-to-peer audio. No server in the middle. Up to 8 people, like a table at a bar.
What's next
Loci is a protocol, not a product. If it needs to know "who else is here," it can run on Loci. Collaborative tools. Ambient music. Idle games where every URL is a dungeon and every page is an encounter. The protocol doesn't care what you build on it.
Open Source
Not a platform. A protocol.
MIT licensed. Self-hostable. No hidden services, no black-box infrastructure, no terms of service that change on you.
Loci is a protocol the same way email is a protocol. Run your own server, or use ours. Clients connect to any Loci network. The web doesn't need another platform. It needs plumbing.