Free, open-source voice and screen sharing for small groups (2–8). Runs in the browser on desktop and mobile — no account, no media server, end-to-end encrypted, peer-to-peer with automatic friend-bri
SocialHTML · TypeScriptGitHub @devtraldiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Free, open-source voice and screen sharing for small groups (2–8). Runs in the browser on desktop and mobile — no account, no media server, end-to-end encrypted, peer-to-peer with automatic friend-bridge and TURN fallback. Built with Claude Code.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Voice and screen with friends. Device to device, encrypted, no account. Built for small groups (2 to 8 people). Free, no ads, no tracking, open source. ▶ Open NitroCall · Português A group of friends, the Nitro Poker Club, wanted one simple thing: to talk and see each other's screens (a game, a YouTube video with sound) without creating accounts, installing anything heavy, paying for a subscription, or handing their conversations to a company.Read the full README ↗
A group of friends, the Nitro Poker Club, wanted one simple thing: to talk and see each other's screens (a game, a YouTube video with sound) without creating accounts, installing anything heavy, paying for a subscription, or handing their conversations to a company.
Big tools solve this by routing everything through their own servers. NitroCall does the opposite: the friends' own devices are the infrastructure. The page is a static file. Once it's open, GitHub is out of the picture: audio and screen go straight from one device to another.
There is no commercial intent. No paid tier, no ads, no data collection, no "pro version". The project is, and will stay, free and open.
You open the link ──► GitHub serves the page (~2.4 MB, once)
│
▼
Devices find each other at a public "meeting point" (PeerJS; backup: Nostr)
│
▼
The call goes DIRECT between devices (WebRTC) ← almost always
or through a FRIEND in the room acting as bridge ← when two can't reach each other
or through TURN, still encrypted ← last resort
An hour-long call does not use an hour of our server. GitHub only serves the file; the call's bandwidth is carried by the participants themselves, like a phone call between two phones.
"No server" means no media server and no server of ours storing data. To find each other, NitroCall relies on free public services:
| Service | Used for | What it sees |
|---|---|---|
| GitHub Pages | serving the page | that someone opened the site (like any website) |
| PeerJS (0.peerjs.com) | meeting point: reserving your slot in the room | an identifier derived from the room code (hash), IPs |
| Public Nostr relays | backup meeting point if PeerJS is down | signaling messages encrypted with the room key |
| STUN (Google/Cloudflare) | each device learning its own public address | your IP |
| TURN (Cloudflare) + Worker | last-resort relay | IPs and encrypted packets; it cannot hear or see anything |
The room code lives after the # in invite links and is never sent to GitHub.
| Device | Browser | How | Result |
|---|---|---|---|
| iPhone (iOS 18.7) | Safari, Chrome, Brave | real device, Wi-Fi and 4G, with bots in the room | joins, hears/is heard, 🔒, camera both ways, relay via TURN |
| Windows | Chrome, Edge | automated suites (200+ checks) and real use | everything |
| Android | Chrome (engine) | automated, emulated phone profiles | joins, camera, background/return |
| iPhone/Android | any | automated "WebKit-like" checks (strict ICE config, Safari adapter, blocked Worker) | joins |
Not verified on real hardware yet: Android phones, iPad, Firefox. If something fails there, open the
link with &debug=<any-word> at the end and send the maintainer that word — the app streams its log
live (encrypted) so the problem can be seen as it happens.
To be upfront: this project was written together with Claude by Anthropic, using Claude Code (CLI). I decided what I wanted, tested it with real friends, complained about what was bad and set the direction; Claude wrote practically all of the code, the automated tests and the docs, and helped investigate every problem (NAT, codecs, GPUs, screen quality).
NitroCall is part of my learning roadmap for Anthropic's tools: Claude Code, agents, AI-driven testing, and how to build something real and useful with them. If you're learning the same, feel free to read the history, borrow ideas and open issues.
Source code, tests (multi-browser end-to-end, an image-quality lab and a network emulator)
and build instructions live in app/. The optional TURN credentials Worker is in
app/cloudflare/turn-worker/.
MIT. Use it, copy it, change it, share it.
Nitro Poker Club · made among friends, for friends.