# PhoneBooth > PhoneBooth is a free, open-source, peer-to-peer browser video calling and video conferencing app. Users open https://phonebooth.dev/ in any modern browser, enter a display name, click "New room" to generate a 6-digit passcode, share it (or the invite link) with participants, and everyone connects instantly — no login, no signup, no download, no account, no payment. Video and audio stream peer-to-peer over WebRTC (via PeerJS) and are not routed through a central media server; they are not recorded or stored. The first peer in a room becomes the signaling host and relays the roster and in-meeting chat over data channels. An optional AI participant (Vercel AI SDK) answers `@ai` questions in meeting chat and in the lobby helper. For the full feature/API/tech-stack reference see llms-full.txt. ## What it does - Creates instant video call rooms identified by a 6-digit numeric passcode. - Supports multi-participant full-mesh WebRTC video calls (best for ~6–8 participants). - Provides in-call controls: mute, camera on/off, screen share, raise hand, emoji reactions, leave. - Includes in-meeting text chat (relayed through the host) with transcript export. - Offers host controls: "mute all microphones", "remove participant", host spotlight, lock chat. - Includes a built-in AI participant (`@ai` in meeting chat + lobby helper). - Works on desktop and mobile browsers (Chrome 90+, Edge 90+, Firefox 88+, Safari 14+, Opera 76+). - Installs as a Progressive Web App (PWA) with offline shell caching via a service worker. ## What it does NOT do - It does not record or store calls. - It does not require user accounts or authentication to start/join calls. - It does not use an SFU, so it is not designed for very large conferences, cloud recording, breakout rooms, or a waiting lobby (see project TODO). - It does not transcribe or caption meetings (planned; not yet shipped). ## How to use 1. Open PhoneBooth in a modern browser. 2. Enter your name. 3. Click "New room" to generate a 6-digit room code, or enter an existing code to join. 4. Share the room code or the invite link (which carries `?room=&name=` query params). 5. Participants open the link, allow camera/mic, and join the call. ## Technical notes - Frontend: React 18, TypeScript, Vite, Tailwind CSS. - Video signaling: PeerJS (WebRTC). Peer IDs use the deterministic pattern `phonebooth-{room}-host` for the first peer. - AI assistant: Vercel AI SDK + AI Gateway via serverless `/api/meeting-ai` (`@ai` + lobby helper). - Storage: Neon Postgres (`@neondatabase/serverless`) for an optional, non-identifying room-manifest store (`/api/room`). - Deployment: Vercel (serverless functions for meeting-ai + room APIs); static `dist` build for other hosts. - The app is a client-rendered SPA. `index.html` ships crawlable fallback content and Schema.org JSON-LD (SoftwareApplication, HowTo, FAQPage, Organization, WebSite) for SEO + GEO. ## Links - [Live app](https://phonebooth.dev/) - [Full LLM documentation](https://phonebooth.dev/llms-full.txt) - [Sitemap](https://phonebooth.dev/sitemap.xml) - [robots.txt](https://phonebooth.dev/robots.txt) - [humans.txt](https://phonebooth.dev/humans.txt) - [GitHub repository](https://github.com/yingkitw/phonebooth)